[OpenSIPS-Users] loose_route: loop on ACK requests

Robert Dyck rob.dyck at telus.net
Fri Mar 13 06:27:40 CET 2009


Very peculiar. The RURI was rewritten with the URI in the Route header. Does 
your script rewrite it? This usually only happens when the route set shows a 
next hop and the next hop is a strict router. If loose routing is in effect 
all the way, the RURI does not change.

On Thursday 12 March 2009, Noel R. Morais wrote:
> Nobody have had this kind of problem? Of a ACK message being routed to
> itself? :(
>
> On Wed, Mar 11, 2009 at 7:53 PM, Noel R. Morais <noelrocha at gmail.com> wrote:
> > Sorry.
> >
> > I forgot the route(1). Follow bellow:
> > route[1] {
> >        if (!t_relay()) {
> >                sl_reply_error();
> >        };
> >        exit;
> > }
> >
> > I think that my problem is regarding the loose_route() function. I
> > just don't know why it doesn't "realize" that the Route: header is to
> > itself. :(
> >
> > Thanks,
> >
> >
> > Noel
> >
> > On Wed, Mar 11, 2009 at 7:21 PM, Vasil Kolev <vasil.kolev at attractel.com> 
wrote:
> >> В 14:57 -0300 на 11.03.2009 (ср), Noel R. Morais написа:
> >>> Hi guys,
> >>>
> >>> I'm having problems about loose_route(). Opensips is routing ACK
> >>> requests to itself.
> >>>
> >>> I know that posting code and traces are ugly, but I think I do not
> >>> have choices. Sorry.
> >>
> >> Hm. After a month of reading you'll start to love them, trust me on
> >> that :)
> >>
> >>
> >> Anyway, from the log it seems you're relaying the ACK to you. What does
> >> route(1) do, e.g. you probably need to show that block too...
> >>
> >> Also, there was something that made the transaction to just eat up the
> >> ACK, but I can't remember it right now, probably that's what you're
> >> looking for in this case (or if not, you'll have to draw a picture on
> >> what you're trying to accomplish :) )
> >>
> >>> Follow bellow the code regarding loose_route:
> >>> if (has_totag()) {
> >>>                 if (loose_route()) {
> >>>                         if(method=="INVITE") {
> >>>                                 route(5); #Check authentication of
> >>> re-invites }
> >>>                         route(1);
> >>>                 } else {
> >>>                         if ( is_method("ACK") ) {
> >>>                                 if ( t_check_trans() ) {
> >>>                                         route(1);
> >>>                                 }
> >>>                 }
> >>>         }
> >>> }
> >>>
> >>>
> >>> Follow bellow the trace, 192.168.191.188 is the opensips ip address:
> >>> U 2009/03/11 14:46:53.950565 192.168.191.188:5060 ->
> >>> 192.168.192.233:5060 SIP/2.0 200 OK.
> >>> Via: SIP/2.0/UDP 192.168.192.233;branch=z9hG4bKac74079177.
> >>> Contact: <sip:XXXXXXXXX at 192.168.193.20:5060>.
> >>> Record-Route:
> >>> <sip:192.168.191.188;lr=on;ftag=1c74077990;did=f9e.d32b00d2>. Call-ID:
> >>> 74077637112200051548 at 192.168.192.233.
> >>> From: "Jeff002" <sip:YYYYYYYYYY at 192.168.193.20>;tag=1c74077990.
> >>> To:
> >>> <sip:XXXXXXXXX at 192.168.191.188;user=phone>;tag=a94c095b773be1dd6e8d668a
> >>>785a9c8469ec. CSeq: 1 INVITE.
> >>> Server: Cantata-SIP/10.3.2.51932 IMG 0.
> >>> Allow: INVITE, BYE, REGISTER, ACK, OPTIONS, CANCEL, INFO.
> >>> Supported: path.
> >>> Accept: application/sdp.
> >>> Content-Type: application/sdp.
> >>> Content-Length: 236.
> >>> .
> >>> v=0.
> >>> o=Cantata_SDP 0 1 IN IP4 192.168.193.20.
> >>> s=Cantata-SIP.
> >>> c=IN IP4 192.168.193.21.
> >>> t=0 0.
> >>> m=audio 8944 RTP/AVP 18 101.
> >>> a=rtpmap:18 G729/8000.
> >>> a=rtpmap:101 telephone-event/8000.
> >>> a=fmtp:101 0-15.
> >>> a=silenceSupp:off - - - -.
> >>> a=ptime:20.
> >>>
> >>>
> >>> U 2009/03/11 14:46:53.997019 192.168.192.233:5060 ->
> >>> 192.168.191.188:5060 ACK sip:XXXXXXXXX at 192.168.193.20:5060 SIP/2.0.
> >>> Via: SIP/2.0/UDP 192.168.192.233;branch=z9hG4bKac82192814.
> >>> Max-Forwards: 70.
> >>> From: "Jeff002" <sip:YYYYYYYYYY at 192.168.193.20>;tag=1c74077990.
> >>> To:
> >>> <sip:XXXXXXXXX at 192.168.191.188;user=phone>;tag=a94c095b773be1dd6e8d668a
> >>>785a9c8469ec. Call-ID: 74077637112200051548 at 192.168.192.233.
> >>> CSeq: 1 ACK.
> >>> Contact: <sip:YYYYYYYYYY at 192.168.192.233>.
> >>> Route: <sip:192.168.191.188;lr=on;ftag=1c74077990;did=f9e.d32b00d2>.
> >>> Supported: em,timer,replaces,path.
> >>> Allow:
> >>> REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIB
> >>>E,UPDATE. User-Agent: Audiocodes-Sip-Gateway-MP-102 FXS/v.4.60A.035.001.
> >>> Content-Length: 0.
> >>> .
> >>>
> >>>
> >>> U 2009/03/11 14:46:53.998178 192.168.191.188:5060 ->
> >>> 192.168.191.188:5060 ACK
> >>> sip:192.168.191.188;lr=on;ftag=1c74077990;did=f9e.d32b00d2 SIP/2.0.
> >>> Record-Route: <sip:192.168.191.188;lr=on;ftag=1c74077990>.
> >>> Via: SIP/2.0/UDP 192.168.191.188;branch=z9hG4bKef17.5d8b81f4.2.
> >>> Via: SIP/2.0/UDP 192.168.192.233;branch=z9hG4bKac82192814.
> >>> Max-Forwards: 69.
> >>> From: "Jeff002" <sip:YYYYYYYYYY at 192.168.193.20>;tag=1c74077990.
> >>> To:
> >>> <sip:XXXXXXXXX at 192.168.191.188;user=phone>;tag=a94c095b773be1dd6e8d668a
> >>>785a9c8469ec. Call-ID: 74077637112200051548 at 192.168.192.233.
> >>> CSeq: 1 ACK.
> >>> Supported: em,timer,replaces,path.
> >>> Allow:
> >>> REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIB
> >>>E,UPDATE. User-Agent: Audiocodes-Sip-Gateway-MP-102 FXS/v.4.60A.035.001.
> >>> Content-Length: 0.
> >>>
> >>> _______________________________________________
> >>> Users mailing list
> >>> Users at lists.opensips.org
> >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >>
> >> --
> >> Regards,
> >> Vasil Kolev
> >> Attractel NV
> >> dCAP #1324, LPIC2
> >>
> >>
> >> _______________________________________________
> >> 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