[SR-Users] Missing "Route" in ACK or BYE request

Daniel-Constantin Mierla miconda at gmail.com
Thu Mar 29 16:40:24 CEST 2012


Hello,

On 3/29/12 11:17 AM, Hervé Cochet wrote:
> Hello,
>
> I used kamailio to handle SIP line from a provider using uacreg table.
> Everything was working fine till they add a proxy which do not set (or 
> not propagate) route header in ACK or BYE request.
>
> So my routing logic is broken in the "in-dialog" transaction mode, 
> since the loose_route return FALSE.
>
> If I try to force a t_relay after the loose_route, my message may not 
> be routing properly if for example my UAC was not connected with the 
> standard 5060 port or use a different protocol like TCP (It works if 
> both are in UDP and use 5060 port).
> Is there a way to retrieve the record-route previously sets for this 
> session in order to route this message properly ?

is the Record-Route set mirrored in the 200ok?

If the device is not supporting record-routing, then ACK/BYE should not 
get to your proxy. Can you post a full sip trace for such a call (from 
invite to bye)? It will help to understand how the message flow is and 
maybe we can help more.

As a generic hint for storing/retrieving data, look at htable module, or 
if you prefer to use database storage, sqlops may be an alternative. You 
can keep the values based on callid.

>
>
>
> Another problem is that the dialog module do not match the BYE 
> transaction, the "did" variable is missing since the route is not 
> there but it should match the request with SIP matching 
> (dlg_match_mode is set to 1).
>
> For example my dialog parameters are:
>
> dialog::  hash=1214:1340198900
> /    state:: 3
>     timestart:: 1333006717
>     timeout:: 80537132
>     callid:: 16260-CI-30dd2867-797784ae0 at my.sip.provider
>     from_uri:: sip:0367023024 at my.sip.provider;user=phone
>     from_tag:: 16260-GI-30dd2868-17bb342c3
>     caller_contact:: sip:13.12.14.20:5060
>     caller_cseq:: 815264875
>     caller_route_set:: <sip:13.12.14.20:5060;lr>
>     caller_bind_addr:: udp:130.120.140.131:5060
>     to_uri:: sip:0974711672 at 13.12.14.17;user=phone
>     to_tag:: 1878467993
>     callee_contact:: sip:0974711672 at 96.57.249.78:1024
>     callee_cseq:: 815264875
>     callee_route_set::
>     callee_bind_addr:: udp:130.120.140.131:5060/
>
> The BYE request:
> /BYE sip:0974711672 at 96.57.249.78:1024 SIP/2.0
> Call-ID: 16260-CI-30dd2867-797784ae0 at my.sip.provider
> CSeq: 815264876 BYE
> From: "0033482531303" 
> <sip:0367023024 at my.sip.provider;user=phone>;tag=16260-GI-30dd2868-17bb342c3 
>
> Max-Forwards: 28
> Record-Route: <sip:13.12.14.20:5060;lr>
> To: <sip:0974711672 at 13.12.14.17;user=phone>;tag=1878467993
> Via: SIP/2.0/UDP 13.12.14.20:5060;branch=z9hG4bK-LNVP-1196a924-5f1f495a
> Reason: q.850;cause=16
> User-Agent: Cirpack/v4.42a (gw_sip)
> Content-Length: 0/
>
> Why does this BYE request is not matched by the dialog modules using 
> SIP parameters (Call-ID, uri, tag seems correct) ?

Can you try to execute dlg_manage()? If Route header is missing, then 
there is nothing that triggers automatically dialog matching.

Cheers,
Daniel
>
>
> Hervé
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
Kamailio Advanced Training, April 23-26, 2012, Berlin, Germany
http://www.asipto.com/index.php/kamailio-advanced-training/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120329/81e76427/attachment-0001.htm>


More information about the sr-users mailing list