[OpenSIPS-Users] ACK doesnt get routed to endpoint
Vlad Paiu
vladpaiu at opensips.org
Tue Feb 28 12:01:06 CET 2012
Hello,
For your case, you could try to fix the ACK using the dialog module
fix_route_dialog() [1] function, which forces an in dialog SIP message
to contain the ruri, route headers and dst_uri, as specified by the
internal data of the dialog it belongs to.
[1] http://www.opensips.org/html/docs/modules/1.7.x/dialog.html#id294012
Regards,
Vlad Paiu
OpenSIPS Developer
http://www.opensips-solutions.com
On 02/28/2012 12:54 PM, Bogdan-Andrei Iancu wrote:
> Hi Arnold,
>
> Yes, that is totally correct !
>
> Regards,
> Bogdan
>
> On 02/28/2012 12:46 PM, Arnold Vriezekolk NETZOZEKER B.V. wrote:
>> Hey Bogdan,
>>
>> You're right about that. My idea was that i could fix this problem with
>> scripting. This is obviously wrong. I had no idea of how to get the
>> correct
>> contact information into the sip packet, so i tried to solve it this
>> way.
>>
>> What i'm seeing in the sip trace is that the 200 OK from our opensips
>> proxy
>> has the correct contact information in it, but our sip provider sends
>> back the
>> ACK without this contact information. So the problem is not on our
>> opensips
>> side, but on the provider side. Would you say this is correct?
>>
>> Thanks for the clarification on the dialog variables.
>>
>> Best Regards,
>>
>> Arnold Vriezekolk
>>
>>
>> On Tue, 28 Feb 2012, Bogdan-Andrei Iancu wrote:
>>
>>> Hi Arnold,
>>>
>>> If I understand you right, instead on focusing on fixing the root
>>> error, you are trying to cope with it in your script.
>>>
>>> As I said, the ACK you receive on .90 (from the previous hops) is
>>> bogus as it has incomplete route set (the contact info of callee is
>>> missing). So, it is not a problem in your script, but a problem with
>>> the previous SIP hops.
>>>
>>> Also, to answer to your questions - yes the ACK is part of the same
>>> dialog. But note that the dialog variables will be available (for
>>> ACK) only after doing the loose_route() - here is where the ACK is
>>> matched against the dialog. To check if the ACK matched the dialog
>>> (after loose_route), check the $DLG_status variable - if it is NULL,
>>> your ACK did not matched.
>>>
>>> Regards,
>>> Bogdan
>>>
>>> On 02/28/2012 12:01 PM, Arnold Vriezekolk NETZOZEKER B.V. wrote:
>>>> Thanks for the reply Bogdan,
>>>>
>>>> If the ACK has the same tag in the From header as the initial
>>>> INVITE, isnt
>>>> that considered the same dialog?
>>>>
>>>> What i'm trying to achieve is set an AVP variable that has some
>>>> information
>>>> about this call. Whenever i try to reach the variable at the point
>>>> the ACK
>>>> message comes in from our sip provider the variable is empty.
>>>>
>>>> How can i make sure that when i set a variable at the initial
>>>> INVITE i can
>>>> reach it when the ACK comes in? Script variables also dont seem to
>>>> work for
>>>> me because they get overwritten. I might be able to set a variable
>>>> based on a
>>>> unique descriptor based on the call.
>>>>
>>>> Best Regards,
>>>>
>>>> Arnold Vriezekolk
>>>>
>>>> On Fri, 24 Feb 2012, Bogdan-Andrei Iancu wrote:
>>>>
>>>>> Hi Arnold,
>>>>>
>>>>> The ACK you get in .90 is bogus, as it should have in RURI the
>>>>> .130 IP from the
>>>>> 200 OK Contact. Actually the end-point info from 200 OK (the .130)
>>>>> is not present
>>>>> at all in the ACK, so basically the ACK cannot end up to that end
>>>>> point at all.
>>>>>
>>>>> Regards,
>>>>> Bogdan
>>>>>
>>>>> On 02/24/2012 04:47 PM, Arnold Vriezekolk NETZOZEKER B.V. wrote:
>>>>> Hi,
>>>>>
>>>>> In our setup we have a connection to a sip provider for
>>>>> incoming
>>>>> lines. We use
>>>>> opensips with the uac_registrant module to connect to this sip
>>>>> provider.
>>>>>
>>>>> Whenever a call comes in, i use rewriteuri() and t_relay()
>>>>> to send it
>>>>> to an
>>>>> endpoint. When i pick up the call on my endpoint the ACK
>>>>> message from
>>>>> the sip
>>>>> provider doesn't get routed back to my endpoint, but somehow
>>>>> gets
>>>>> stuck in
>>>>> opensips. Thus failing the call after 3 seconds.
>>>>>
>>>>> The ACK should be routed by the default sequential request
>>>>> block in
>>>>> the
>>>>> request route[0] afaik but it doesnt.
>>>>>
>>>>> Can anyone point me as to where i can fix this problem?
>>>>>
>>>>> I attached a pcap dump of the call for debugging purposes.
>>>>> Endpoint: sip:EEEEEEEE at netzozeker.tel.netzozeker.nl
>>>>> (95.97.29.130)
>>>>> SIP provider: 89.184.172.54
>>>>> OpenSIPS: 195.60.212.90
>>>>>
>>>>> If you need more information please let me know, i can
>>>>> attach the
>>>>> opensips.cfg
>>>>> and the log of opensips for more debugging purposes.
>>>>>
>>>>> Best Regards,
>>>>>
>>>>> Arnold Vriezekolk
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.opensips.org
>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Bogdan-Andrei Iancu
>>>>> OpenSIPS Founder and Developer
>>>>> http://www.opensips-solutions.com
>>>>>
>>>>>
>>>
>>>
>>> --
>>> Bogdan-Andrei Iancu
>>> OpenSIPS Founder and Developer
>>> http://www.opensips-solutions.com
>>>
>>>
>
>
More information about the Users
mailing list