[OpenSER-Users] Loop Detection

Alex Balashov abalashov at evaristesys.com
Tue Dec 11 02:05:34 CET 2007


No, because OpenSER, by definition, is not a user agent, but a proxy, and 
only user agents generate call legs.

There may be a way to fudge it by mangling all the appropriate SIP
header features, but it would be almost ontologically contradictory.  :-)

I ran into this myself trying to loop back calls into a MetaSwitch
with some dialed-digit transformations.  Ended up having to use a B2BUA 
like Asterisk.

On Mon, 10 Dec 2007, Daniel Corbe wrote:

> Is there a way to generate a new call leg in openser?
>
> On Dec 10, 2007 7:03 PM, Alex Balashov <abalashov at evaristesys.com> wrote:
>
>>
>>
>> And probably a new call-ID as well.  In other words, you'd probably need
>> all the logical elements of a distinct call leg, per the RFC;  the source
>> of application you'd want to use a back-to-back user agent for if you
>> weren't using OpenSER.
>>
>>
>> On Mon, 10 Dec 2007, Daniel Corbe wrote:
>>
>>> I have a problem.  I'm taking INVITES from a PortaSIP proxy and handing
>> it
>>> back with a new request URI and To: header; however, their loop
>>> detection algorithm is calling this a loop.
>>> Is there a way to fix this from within OpenSER?  I'm assuming my proxy
>> would
>>> have to send an INVITE with a completely new branch tag and From tag?
>>>
>>> 10 Dec 14:52:30.831/GLOBAL/b2bua: SENDING message to 206.71.169.114:5060
>> :
>>> INVITE sip:*94310 at 206.71.169.114:5060 SIP/2.0
>>> Via: SIP/2.0/UDP 216.151.143.69:5061
>>> ;branch=z9hG4bKecaee2770d3db1e3a26ddc741511b55b;rport
>>> Max-Forwards: 70
>>> From: <sip:18589520696 at 216.151.143.69
>>> ;tag=3b383c39c2bc93d8106f4425074ef399
>>> To: <sip:*94310 at 206.71.169.114>
>>> Call-ID: 722814-3406315950-714741 at msx69.mydomain.com~1o
>>> CSeq: 200 INVITE
>>> Contact: Anonymous <sip:216.151.143.69:5061>
>>> Expires: 300
>>> User-Agent: Sippy
>>> cisco-GUID: 2108088383-2809270748-2290810900-572575638
>>> h323-conf-id: 2108088383-2809270748-2290810900-572575638
>>> Content-Length: 201
>>> Content-Type: application/sdp
>>> v=0
>>> o=Sippy 156402124 0 IN IP4 216.151.143.69
>>> s=sip call
>>> t=0 0
>>> m=audio 42486 RTP/AVP 18 0 8
>>> c=IN IP4 216.151.143.77
>>> a=rtpmap:8 PCMA/8000
>>> a=rtpmap:0 PCMU/8000
>>> a=rtpmap:18 G729/8000
>>> a=sendrecv
>>>
>>> 10 Dec 14:52:30.841/GLOBAL/b2bua: RECEIVED message from
>> 206.71.169.114:5060:
>>> SIP/2.0 100 Giving a try
>>> Via: SIP/2.0/UDP 216.151.143.69:5061
>>> ;branch=z9hG4bKecaee2770d3db1e3a26ddc741511b55b;rport=5061
>>> From: <sip:18589520696 at 216.151.143.69
>>> ;tag=3b383c39c2bc93d8106f4425074ef399
>>> To: <sip:*94310 at 206.71.169.114>
>>> Call-ID: 722814-3406315950-714741 at msx69.mydomain.com~1o
>>> CSeq: 200 INVITE
>>> Server: OpenSER (1.2.2-notls (i386/freebsd))
>>> Content-Length: 0
>>>
>>> 10 Dec 14:52:30.842/GLOBAL/ser[69804]: RECEIVED message from
>>> 206.71.169.114:5060:
>>> INVITE sip:1a10000000009 at 216.151.143.69:5060 SIP/2.0
>>> Record-Route: <sip:206.71.169.114
>>> ;lr=on;ftag=3b383c39c2bc93d8106f4425074ef399;did=fad.a2f4eb52>
>>> Via: SIP/2.0/UDP 206.71.169.114;branch=z9hG4bK961c.41ea57a.0
>>> Via: SIP/2.0/UDP 216.151.143.69:5061
>>> ;branch=z9hG4bKecaee2770d3db1e3a26ddc741511b55b;rport=5061
>>> Max-Forwards: 69
>>> From: <sip:18589520696 at 216.151.143.69
>>> ;tag=3b383c39c2bc93d8106f4425074ef399
>>> To: <sip:1a10000000009 at 216.151.143.69:5060>
>>> Call-ID: 722814-3406315950-714741 at msx69.mydomain.com~1o
>>> CSeq: 200 INVITE
>>> Contact: Anonymous <sip:216.151.143.69:5061>
>>> Expires: 300
>>> User-Agent: Sippy
>>> cisco-GUID: 2108088383-2809270748-2290810900-572575638
>>> h323-conf-id: 2108088383-2809270748-2290810900-572575638
>>> Content-Length: 201
>>> Content-Type: application/sdp
>>> P-hint: rr-enforced
>>> v=0
>>> o=Sippy 156402124 0 IN IP4 216.151.143.69
>>> s=sip call
>>> t=0 0
>>> m=audio 42486 RTP/AVP 18 0 8
>>> c=IN IP4 216.151.143.77
>>> a=rtpmap:8 PCMA/8000
>>> a=rtpmap:0 PCMU/8000
>>> a=rtpmap:18 G729/8000
>>> a=sendrecv
>>>
>>> 10 Dec 14:52:30.842/722814-3406315950-714741 at msx69.mydomain.com
>> ~1o/ser[69804]:
>>> processing INVITE received from 206.71.169.114
>>> 10 Dec 14:52:30.843/GLOBAL/ser[69804]: SENDING message to
>>> 206.71.169.114:5060:
>>> SIP/2.0 100 trying -- your call is important to us
>>> Via: SIP/2.0/UDP 206.71.169.114;branch=z9hG4bK961c.41ea57a.0
>>> Via: SIP/2.0/UDP 216.151.143.69:5061
>>> ;branch=z9hG4bKecaee2770d3db1e3a26ddc741511b55b;rport=5061
>>> From: <sip:18589520696 at 216.151.143.69
>>> ;tag=3b383c39c2bc93d8106f4425074ef399
>>> To: <sip:1a10000000009 at 216.151.143.69:5060>
>>> Call-ID: 722814-3406315950-714741 at msx69.mydomain.com~1o
>>> CSeq: 200 INVITE
>>> Server: Sip EXpress router (0.9.6 (i386/freebsd))
>>> Content-Length: 0
>>>
>>> 10 Dec 14:52:30.844/GLOBAL/ser[69804]: SENDING message to
>>> 216.151.143.69:5061:
>>> INVITE sip:1a10000000009 at 216.151.143.69:5061 SIP/2.0
>>> Record-Route: <sip:216.151.143.69
>> ;ftag=3b383c39c2bc93d8106f4425074ef399;lr>
>>> Record-Route: <sip:206.71.169.114
>>> ;lr=on;ftag=3b383c39c2bc93d8106f4425074ef399;did=fad.a2f4eb52>
>>> Via: SIP/2.0/UDP 216.151.143.69;branch=
>>> z9hG4bK961c.003d31266db19cfeb34aa550d186a976.0
>>> Via: SIP/2.0/UDP 206.71.169.114;branch=z9hG4bK961c.41ea57a.0
>>> Via: SIP/2.0/UDP 216.151.143.69:5061
>>> ;branch=z9hG4bKecaee2770d3db1e3a26ddc741511b55b;rport=5061
>>> Max-Forwards: 16
>>> From: <sip:18589520696 at 216.151.143.69
>>> ;tag=3b383c39c2bc93d8106f4425074ef399
>>> To: <sip:1a10000000009 at 216.151.143.69:5060>
>>> Call-ID: 722814-3406315950-714741 at msx69.mydomain.com~1o
>>> CSeq: 200 INVITE
>>> Contact: Anonymous <sip:216.151.143.69:5061>
>>> Expires: 300
>>> User-Agent: Sippy
>>> cisco-GUID: 2108088383-2809270748-2290810900-572575638
>>> Content-Length: 201
>>> Content-Type: application/sdp
>>> P-hint: rr-enforced
>>> v=0
>>> o=Sippy 156402124 0 IN IP4 216.151.143.69
>>> s=sip call
>>> t=0 0
>>> m=audio 42486 RTP/AVP 18 0 8
>>> c=IN IP4 216.151.143.77
>>> a=rtpmap:8 PCMA/8000
>>> a=rtpmap:0 PCMU/8000
>>> a=rtpmap:18 G729/8000
>>> a=sendrecv
>>>
>>> 10 Dec 14:52:30.844/GLOBAL/b2bua: RECEIVED message from
>> 216.151.143.69:5060:
>>> INVITE sip:1a10000000009 at 216.151.143.69:5061 SIP/2.0
>>> Record-Route: <sip:216.151.143.69
>> ;ftag=3b383c39c2bc93d8106f4425074ef399;lr>
>>> Record-Route: <sip:206.71.169.114
>>> ;lr=on;ftag=3b383c39c2bc93d8106f4425074ef399;did=fad.a2f4eb52>
>>> Via: SIP/2.0/UDP 216.151.143.69;branch=
>>> z9hG4bK961c.003d31266db19cfeb34aa550d186a976.0
>>> Via: SIP/2.0/UDP 206.71.169.114;branch=z9hG4bK961c.41ea57a.0
>>> Via: SIP/2.0/UDP 216.151.143.69:5061
>>> ;branch=z9hG4bKecaee2770d3db1e3a26ddc741511b55b;rport=5061
>>> Max-Forwards: 16
>>> From: <sip:18589520696 at 216.151.143.69
>>> ;tag=3b383c39c2bc93d8106f4425074ef399
>>> To: <sip:1a10000000009 at 216.151.143.69:5060>
>>> Call-ID: 722814-3406315950-714741 at msx69.mydomain.com~1o
>>> CSeq: 200 INVITE
>>> Contact: Anonymous <sip:216.151.143.69:5061>
>>> Expires: 300
>>> User-Agent: Sippy
>>> cisco-GUID: 2108088383-2809270748-2290810900-572575638
>>> Content-Length: 201
>>> Content-Type: application/sdp
>>> P-hint: rr-enforced
>>> v=0
>>> o=Sippy 156402124 0 IN IP4 216.151.143.69
>>> s=sip call
>>> t=0 0
>>> m=audio 42486 RTP/AVP 18 0 8
>>> c=IN IP4 216.151.143.77
>>> a=rtpmap:8 PCMA/8000
>>> a=rtpmap:0 PCMU/8000
>>> a=rtpmap:18 G729/8000
>>> a=sendrecv
>>>
>>> 10 Dec 14:52:30.847/GLOBAL/b2bua: SENDING message to 216.151.143.69:5060
>> :
>>> SIP/2.0 482 Loop Detected
>>> Via: SIP/2.0/UDP 216.151.143.69;branch=
>>> z9hG4bK961c.003d31266db19cfeb34aa550d186a976.0
>>> Via: SIP/2.0/UDP 206.71.169.114;branch=z9hG4bK961c.41ea57a.0
>>> Via: SIP/2.0/UDP 216.151.143.69:5061
>>> ;branch=z9hG4bKecaee2770d3db1e3a26ddc741511b55b;rport=5061
>>> Record-Route: <sip:216.151.143.69
>> ;ftag=3b383c39c2bc93d8106f4425074ef399;lr>
>>> Record-Route: <sip:206.71.169.114
>>> ;lr=on;ftag=3b383c39c2bc93d8106f4425074ef399;did=fad.a2f4eb52>
>>> From: <sip:18589520696 at 216.151.143.69
>>> ;tag=3b383c39c2bc93d8106f4425074ef399
>>> To: <sip:1a10000000009 at 216.151.143.69:5060>
>>> Call-ID: 722814-3406315950-714741 at msx69.mydomain.com~1o
>>> CSeq: 200 INVITE
>>> Server: Sippy
>>>
>>
>> --
>> Alex Balashov
>> Evariste Systems
>> Web    : http://www.evaristesys.com/
>> Tel    : +1-678-954-0670
>> Direct : +1-678-954-0671
>>
>

--
Alex Balashov
Evariste Systems
Web    : http://www.evaristesys.com/
Tel    : +1-678-954-0670
Direct : +1-678-954-0671




More information about the Users mailing list