[OpenSIPS-Users] B2BUA REFER scenario
Tony Ward
Tonyward at ob.ais-rx.com
Wed Apr 9 23:39:21 CEST 2014
Thanks Bogdan, I set up an account and opened a ticket as you requested.
Let me know if you need any other info.
Tony Ward
-----Original Message-----
From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
Sent: Friday, March 07, 2014 5:12 AM
To: OpenSIPS users mailling list; Tony Ward
Subject: Re: [OpenSIPS-Users] B2BUA REFER scenario
Hello Tony,
That's definitely a good idea that must be considered - of course, such
a change is not trivial, but I will open a TODO ticket on the GitHub
tracker. Or if you have a github account, it will be wonderful if you
could open the bug report.
Best regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 06.03.2014 21:04, Tony Ward wrote:
> Thanks for explaining this, Bogdan.
>
> I'm curious, though - would things work better if the late-SDP
> negotiation were done the other way around i.e., since call3 is a new
> call it could take longer for setup to occur, and during this time
call1
> times out. If we were to send the initial INVITE to call3, get the
> OK+SDP from call3, then invite+SDP call1, perhaps it would respond
> OK+more
> quickly since the call is already set up, and when it does we can send
> ACK+SDP to call3 to complete the transfer. This may also provide the
> ability in the future to avoid disconnecting call1 leg to the IVR so
> that it can be retained in the event call3 fails.
>
> Just a thought...
> Tony Ward
>
> -----Original Message-----
> From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
> Sent: Thursday, March 06, 2014 12:13 PM
> To: OpenSIPS users mailling list; Tony Ward
> Subject: Re: [OpenSIPS-Users] B2BUA REFER scenario
>
> Hello Tony,
>
> You may consider this a side effect of how the OpenSIPS B2BUA works.
> As we want to be transparent from media point of view, OpenSIPS does
> not get involved into SDP negotiation -> it is transparent, passing
> the SDPs between the end points. This is mainly based on the late-SDP
> negotiation
> - and combining this with normal SDP negation may lead into ACK
delays.
>
> In this particular case the ACK for Call1 is delaied because the B2BU
> is waiting for the 200 OK on Call3 - because the SDP from the 200 OK
> in
> Call3 must be pushed in the ACK for Call1 (to allow direct SDP
> negotiation between the end points involved in call1 and call3). So
> the ACK for call1 will be delayed until Call3 gets answered - there is
> no work around this at this point. In most of the cases the UA are a
> bit flexible in waiting for ACK, like at least performing 200OK
> retransmission (as per RFC3261). I would say your PSTN device is a bit
> picky ;) when comes to firing the BYE in 6 sec (no retransmission,
> short period of time).
>
> Regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
>
> On 05.03.2014 20:06, Tony Ward wrote:
>> Hello,
>> I currently have this configuration:
>> PSTN <====> SIP/ALG Router <====> OpenSips 1.10 <====> IVR OpenSips
>> has a single IP on the private network.
>>
>> I have configured opensips using top hiding in the dialog module and
> it
>> works fine for calls to ptsn and calls from pstn.
>> I have also configured opensips using B2BUA top hiding and it also
> works
>> fine for calls to ptsn and calls from pstn.
>>
>> Now I want to test B2BUA REFER scenario (where calls from PSTN are
>> answered by IVR, then IVR does a REFER to another PSTN number).
>>
>> When the IVR sends REFER the call is dropped after .6 seconds. The
> flow
>> that I've seen in the trace is below:
>> PSTN opensips IVR
>> invite+SDP (Call1) ----> |
>> <----- Trying (Call1) |
>> | invite+SDP (Call2)----->
>> | <----- OK+SDP (Call2)
>> <----- OK+SDP (Call1) |
>> Ack (Call1) ----> |
>> | ACK (Call2) ----->
>>
>> <Ivr dialog take place here>
>>
>> | <----- REFER (Call2)
>> <----- Invite (Call1) |
>> | Accepted (Call2) ----->
>> | BYE (Call2) ----->
>> Trying (Call1) ----> |
>> OK+SDP (Call1) ----> |
>> <----- Invite+SDP(Call3)|
>> | <----- OK (Call2)
>> Trying (Call3) -----> |
>> OK+SDP (Call1) -----> |
>> OK+SDP (Call1) -----> |
>>
>> <0.6 seconds elapse here>
>>
>> Bye (Call1) -----> |
>> <----- OK (Call1) |
>> <----- Cancel (Call3) |
>> OK (Call3) -----> |
>> Req Termd (Call3) ----->|
>> <----- Ack (Call3) |
>>
>> It looks as though the PSTN times out waiting for an ACK after
>> sending
>> OK+SDP(Call1) a couple times and then waiting .6 seconds.
>> The question is - what should the flow look like? According to this
>> post:
> http://lists.opensips.org/pipermail/users/2012-April/021352.html,
>> things appear to be working as expected up to the point where we
> receive
>> Trying (Call3). Should I be seeing the OK+SDP from call 3 next?
>> I'd like to troubleshoot further but I'm not sure where to look.
>>
>> Thanks!
>> Tony
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
More information about the Users
mailing list