[reSIProcate] Route Set problem with Update in resip 1.1 RC1
Robert Sparks
rjsparks at nostrum.com
Wed Mar 7 16:04:48 CST 2007
inline (to both the top and first nested response from Byron)
On Mar 7, 2007, at 3:51 PM, Kovar, William ((Bill)) wrote:
> The Update is being sent TO resip after a dialog has been
> established and ACK'd by resip. See the ACK sent from resip at the
> beginning of the log snip.
>
> I don't believe clearing the RR is correct. We should be using the
> existing RR for the dialog.
As I sent separately, no. Record-Route in mid-dialog requests has
nothing to do with the dialog's Route Set.
It is bits that get twiddled for the duration of the transaction
only. They are wasted. Ignore them if you see them
as an endpoint.
>
> Bill Kovar
> bkovar at avaya.com
> Avaya, Inc.
> (732) 852-2609
>
>
> From: Byron Campen [mailto:bcampen at estacado.net]
> Sent: Wednesday, March 07, 2007 4:45 PM
> To: Kovar, William (Bill)
> Cc: resiprocate-devel at list.resiprocate.org
> Subject: Re: [reSIProcate] Route Set problem with Update in resip
> 1.1 RC1
>
> Who is sending the UPDATE here? It isn't resip, since the neither
> of the branch params are of the right form. The UPDATE has the
> incorrect Record-Route stack in it, but it is not right for us to
> rewrite the stack in our response, I think. (If anything, we should
> clear the RR stack entirely)
As an UAS endpoint, what we do is reflect the RR bits we receive no
matter what kind of request it was.
If it's a dialog creating message, we use the bits to populate the
new dialog's route set.
If it's not a dialog creating message, we ignore the bits.
>
> Best regards,
> Byron Campen
>
>> The basic rule is:
>> Once the route set is computed (from an initial INVITE or response
>> that creates a dialog) it doesn't change.
>> Only the remote target can change.
>>
>> So this in-dialog Update shouldn't be doing this....
>>
>> Bill Kovar
>> bkovar at avaya.com
>> Avaya, Inc.
>> (732) 852-2609
>>
>>
>> From: Byron Campen [mailto:bcampen at estacado.net]
>> Sent: Wednesday, March 07, 2007 4:31 PM
>> To: Kovar, William (Bill)
>> Cc: resiprocate-devel at list.resiprocate.org
>> Subject: Re: [reSIProcate] Route Set problem with Update in resip
>> 1.1 RC1
>>
>> This is interesting. I do not think it would be correct to change
>> the Record-Route stack to reflect the Route set in the dialog.
>> Obviously something in the middle is confused if this happens, and
>> changing the Record-Route stack in the response is liable to
>> confuse it even further. Both endpoints should just ignore the
>> Record-Route header-field-values entirely, I think.
>>
>> Any other opinions?
>>
>> Best regards,
>> Byron Campen
>>
>>> There seems to be another problem with Record Route processing.
>>>
>>> After an established dialog, an Update is received that runs
>>> through Helper::makeResponse() to build a 200 msg that does not
>>> contain the correct Route Set.
>>>
>>> I had found this error in a different scenario, i.e. a response,
>>> which is fixed. Now I see this in an Update, i.e. a request.
>>>
>>> I believe the problem is at Helper.cxx line 410
>>>
>>> Here's a log snip, correct route set in ACK in blue, bad route
>>> set in 200 OK in red for same call-id:
>>>
>>> ![2007-03-07 20:14:53.258] <2952:RESIP:TRANSPORT> DEBUG |
>>> TransportSelector.cxx:869 | Transmitting to [ V4
>>> 135.8.52.181:5060 UDP target domain=135.8.52.181 received on:
>>> Transport: [ V4 0.0.0.0:5060 UDP target
>>> domain=unspecified connectionId=0 ] connectionId=0 ]
>>> tlsDomain= via [ V4 135.8.116.33:5060 UDP target
>>> domain=135.8.52.181 connectionId=0 ]
>>>
>>> ACK sip:76800 at avaya.com:5061;transport=tls SIP/2.0
>>>
>>> Via: SIP/2.0/UDP 135.8.116.33:5060;branch=z9hG4bK-d8754z-
>>> b20c1e5c1c57e971-1---d8754z-;rport
>>>
>>> Max-Forwards: 70
>>>
>>> Route: <sip:135.8.52.181:5060;lr>
>>>
>>> Route: <sip:135.8.83.172:5061;lr;transport=tls>
>>>
>>> Contact: <sip:56000 at 135.8.116.33:5060>
>>>
>>> To: <sip:76800 at avaya.com>;tag=0945f2f40dddb181b46f94dc00
>>>
>>> From: "IC 7.1 B2B"<sip:56000 at avaya.com>;tag=b855e212
>>>
>>> Call-ID: ZDU4Yjg4M2UxYTE1MjRiNzJkZTU3ZWMzYmNlMjZlZjk.
>>>
>>> CSeq: 2 ACK
>>>
>>> Content-Type: application/sdp
>>>
>>> Proxy-Authorization: Digest
>>> username="56000",realm="avaya.com",nonce="MTE3MzMzMTA4NTpTREZTZXJ2ZX
>>> JTZWNyZXRLZXk6NzQ1MTU0ODc4",uri="sip:
>>> 76800 at avaya.com",response="e1bdfe0882c087d5334812ad288f7c60",algorit
>>> hm=MD5
>>>
>>> User-Agent: AvSIP 1.04.2
>>>
>>> Content-Length: 202
>>>
>>>
>>>
>>> v=0
>>>
>>> o=- 1 2 IN IP4 135.8.83.172
>>>
>>> s=-
>>>
>>> c=IN IP4 135.8.83.133
>>>
>>> t=0 0
>>>
>>> m=audio 36456 RTP/AVP 0 18 127
>>>
>>> a=fmtp:18 annexb=no
>>>
>>> a=rtpmap:0 PCMU/8000
>>>
>>> a=rtpmap:18 G729/8000
>>>
>>> a=rtpmap:127 telephone-event/8000
>>>
>>>
>>> ![2007-03-07 20:14:53.258] <2952:RESIP:TRANSPORT> DEBUG |
>>> Transport.cxx:213 | Adding message to tx buffer to: [ V4
>>> 135.8.52.181:5060 UDP target domain=135.8.52.181 received on:
>>> Transport: [ V4 0.0.0.0:5060 UDP target domain=unspecified
>>> connectionId=0 ] connectionId=0 ]
>>> ![2007-03-07 20:14:53.305] <2952:RESIP:TRANSPORT> DEBUG |
>>> Transport.cxx:287 | incoming from: [ V4 135.8.52.181:32796 UDP
>>> target domain=unspecified received on: Transport: [ V4
>>> 0.0.0.0:5060 UDP target domain=unspecified connectionId=0 ]
>>> connectionId=0 ]
>>> ![2007-03-07 20:14:53.305] <2952:RESIP:TRANSACTION> DEBUG |
>>> TransactionUser.cxx:66 | Checking if SipReq: UPDATE
>>> 56000 at 135.8.116.33:5060 tid=03950393A79343D4439ec3.0 cseq=UPDATE
>>> contact=76800 at avaya.com:5061 / 1 from(wire) is for me
>>> ![2007-03-07 20:14:53.305] <2952:RESIP:TRANSACTION> DEBUG |
>>> TransactionUser.cxx:71 | Checking rule...
>>> ![2007-03-07 20:14:53.305] <2952:RESIP:TRANSACTION> DEBUG |
>>> MessageFilterRule.cxx:70 | Matching rule for:
>>>
>>> UPDATE sip:56000 at 135.8.116.33:5060 SIP/2.0
>>>
>>> Via: SIP/2.0/UDP
>>> 135.8.52.181:5060;branch=z9hG4bK83A503034493935543998a.0
>>>
>>> Via: SIP/2.0/TLS
>>> avaya.com;psrrposn=1;received=135.8.83.172;branch=z9hG4bK80945f2f40d
>>> ddb1c1b46f94dc00
>>>
>>> Max-Forwards: 69
>>>
>>> Record-Route: <sip:135.8.52.181:5060;lr>
>>>
>>> Contact: " CONFERENCE 2"<sip:76800 at avaya.com:
>>> 5061;transport=tls>;isfocus
>>>
>>> To: "IC 7.1 B2B" <sip:56000 at avaya.com>;tag=b855e212
>>>
>>> From: sip:76800 at avaya.com;tag=0945f2f40dddb181b46f94dc00
>>>
>>> Call-ID: ZDU4Yjg4M2UxYTE1MjRiNzJkZTU3ZWMzYmNlMjZlZjk.
>>>
>>> CSeq: 1 UPDATE
>>>
>>> Session-Expires: 240;refresher=uac
>>>
>>> Min-SE: 240
>>>
>>> Allow: INVITE, CANCEL, BYE, ACK, PRACK, SUBSCRIBE, NOTIFY, REFER,
>>> OPTIONS
>>>
>>> Supported: 100rel, timer, replaces, join, histinfo
>>>
>>> User-Agent: Avaya CM/R013x.01.2.632.1
>>>
>>> Content-Length: 0
>>>
>>>
>>>
>>>
>>> ![2007-03-07 20:14:53.383] <2952:RESIP:TRANSACTION> DEBUG |
>>> MessageFilterRule.cxx:241 | MSG User = 56000
>>> ![2007-03-07 20:14:53.383] <2952:RESIP:TRANSACTION> DEBUG |
>>> MessageFilterRule.cxx:252 | List USER = 56000
>>> ![2007-03-07 20:14:53.383] <2952:RESIP:TRANSACTION> DEBUG |
>>> TransactionUser.cxx:74 | Match!
>>> ![2007-03-07 20:14:53.383] <2952:RESIP> DEBUG | Helper.cxx:372
>>> | Helper::makeResponse(SipReq: UPDATE 56000 at 135.8.116.33:5060
>>> tid=83A503034493935543998a.0 cseq=UPDATE contact=76800 at avaya.com:
>>> 5061 / 1 from(wire) code=100 reason=
>>> ![2007-03-07 20:14:53.383] <2952:RESIP:TRANSACTION> DEBUG |
>>> TimerQueue.cxx:85 | Adding timer: Timer Trying
>>> tid=83A503034493935543998a.0 ms=3500
>>> ![2007-03-07 20:14:53.383] <2952:RESIP:TRANSACTION> DEBUG |
>>> TransactionState.cxx:1852 | Send to TU: TU: DialogUsageManager
>>> size=0
>>>
>>> UPDATE sip:56000 at 135.8.116.33:5060 SIP/2.0
>>>
>>> Via: SIP/2.0/UDP
>>> 135.8.52.181:5060;branch=z9hG4bK83A503034493935543998a.0
>>>
>>> Via: SIP/2.0/TLS
>>> avaya.com;psrrposn=1;received=135.8.83.172;branch=z9hG4bK80945f2f40d
>>> ddb1c1b46f94dc00
>>>
>>> Max-Forwards: 69
>>>
>>> Record-Route: <sip:135.8.52.181:5060;lr>
>>>
>>> Contact: " CONFERENCE 2"<sip:76800 at avaya.com:
>>> 5061;transport=tls>;isfocus
>>>
>>> To: "IC 7.1 B2B" <sip:56000 at avaya.com>;tag=b855e212
>>>
>>> From: sip:76800 at avaya.com;tag=0945f2f40dddb181b46f94dc00
>>>
>>> Call-ID: ZDU4Yjg4M2UxYTE1MjRiNzJkZTU3ZWMzYmNlMjZlZjk.
>>>
>>> CSeq: 1 UPDATE
>>>
>>> Session-Expires: 240;refresher=uac
>>>
>>> Min-SE: 240
>>>
>>> Allow: INVITE, CANCEL, BYE, ACK, PRACK, SUBSCRIBE, NOTIFY, REFER,
>>> OPTIONS
>>>
>>> Supported: 100rel, timer, replaces, join, histinfo
>>>
>>> User-Agent: Avaya CM/R013x.01.2.632.1
>>>
>>> Content-Length: 0
>>>
>>>
>>>
>>>
>>> ![2007-03-07 20:14:53.383] <2840:RESIP:DUM> INFO |
>>> DialogUsageManager.cxx:1190 | Got: SipReq: UPDATE
>>> 56000 at 135.8.116.33:5060 tid=83A503034493935543998a.0 cseq=UPDATE
>>> contact=76800 at avaya.com:5061 / 1 from(wire)
>>> ![2007-03-07 20:14:53.399] <2840:RESIP:DUM> DEBUG |
>>> DialogUsageManager.cxx:1456 | DialogUsageManager::processRequest:
>>> SipReq: UPDATE 56000 at 135.8.116.33:5060
>>> tid=83A503034493935543998a.0 cseq=UPDATE contact=76800 at avaya.com:
>>> 5061 / 1 from(wire)
>>> ![2007-03-07 20:14:53.399] <2840:RESIP:DUM> INFO |
>>> DialogUsageManager.cxx:1516 | Handling in-dialog request:
>>> SipReq: UPDATE 56000 at 135.8.116.33:5060
>>> tid=83A503034493935543998a.0 cseq=UPDATE contact=76800 at avaya.com:
>>> 5061 / 1 from(wire)
>>> ![2007-03-07 20:14:53.399] <2840:RESIP:DUM> DEBUG |
>>> DialogId.cxx:50 | DialogId::DialogId:
>>> ZDU4Yjg4M2UxYTE1MjRiNzJkZTU3ZWMzYmNlMjZlZjk.-
>>> b855e212-0945f2f40dddb181b46f94dc00
>>> ![2007-03-07 20:14:53.399] <2840:RESIP:DUM> DEBUG |
>>> DialogSet.cxx:428 | Found matching dialog mClientSubscriptions
>>> (0), mServerSubscriptions(0) for
>>>
>>> UPDATE sip:56000 at 135.8.116.33:5060 SIP/2.0
>>>
>>> Via: SIP/2.0/UDP
>>> 135.8.52.181:5060;branch=z9hG4bK83A503034493935543998a.0
>>>
>>> Via: SIP/2.0/TLS
>>> avaya.com;psrrposn=1;received=135.8.83.172;branch=z9hG4bK80945f2f40d
>>> ddb1c1b46f94dc00
>>>
>>> Max-Forwards: 69
>>>
>>> Record-Route: <sip:135.8.52.181:5060;lr>
>>>
>>> Contact: " CONFERENCE 2"<sip:76800 at avaya.com:
>>> 5061;transport=tls>;isfocus
>>>
>>> To: "IC 7.1 B2B"<sip:56000 at avaya.com>;tag=b855e212
>>>
>>> From: <sip:76800 at avaya.com>;tag=0945f2f40dddb181b46f94dc00
>>>
>>> Call-ID: ZDU4Yjg4M2UxYTE1MjRiNzJkZTU3ZWMzYmNlMjZlZjk.
>>>
>>> CSeq: 1 UPDATE
>>>
>>> Session-Expires: 240;refresher=uac
>>>
>>> Min-SE: 240
>>>
>>> Allow: INVITE, CANCEL, BYE, ACK, PRACK, SUBSCRIBE, NOTIFY, REFER,
>>> OPTIONS
>>>
>>> Supported: 100rel, timer, replaces, join, histinfo
>>>
>>> User-Agent: Avaya CM/R013x.01.2.632.1
>>>
>>> Content-Length: 0
>>>
>>>
>>>
>>>
>>> ![2007-03-07 20:14:53.399] <2840:RESIP:DUM> DEBUG | Dialog.cxx:
>>> 315 | Dialog::dispatch: SipReq: UPDATE 56000 at 135.8.116.33:5060
>>> tid=83A503034493935543998a.0 cseq=UPDATE contact=76800 at avaya.com:
>>> 5061 / 1 from(wire)
>>> ![2007-03-07 20:14:53.399] <2840:RESIP> DEBUG | Helper.cxx:372
>>> | Helper::makeResponse(SipReq: UPDATE 56000 at 135.8.116.33:5060
>>> tid=83A503034493935543998a.0 cseq=UPDATE contact=76800 at avaya.com:
>>> 5061 / 1 from(wire) code=200 reason=
>>> ![2007-03-07 20:14:53.399] <2840:RESIP:DUM> DEBUG | Dialog.cxx:
>>> 984 | Dialog::makeResponse:
>>>
>>> SIP/2.0 200 OK
>>>
>>> Via: SIP/2.0/UDP
>>> 135.8.52.181:5060;branch=z9hG4bK83A503034493935543998a.0
>>>
>>> Via: SIP/2.0/TLS
>>> avaya.com;psrrposn=1;received=135.8.83.172;branch=z9hG4bK80945f2f40d
>>> ddb1c1b46f94dc00
>>>
>>> Record-Route: <sip:135.8.52.181:5060;lr>
>>>
>>> Contact: <sip:56000>
>>>
>>> To: "IC 7.1 B2B"<sip:56000 at avaya.com>;tag=b855e212
>>>
>>> From: <sip:76800 at avaya.com>;tag=0945f2f40dddb181b46f94dc00
>>>
>>> Call-ID: ZDU4Yjg4M2UxYTE1MjRiNzJkZTU3ZWMzYmNlMjZlZjk.
>>>
>>> CSeq: 1 UPDATE
>>>
>>> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
>>>
>>> Content-Length: 0
>>>
>>>
>>>
>>>
>>> ![2007-03-07 20:14:53.399] <2840:RESIP:APP> INFO |
>>> UserAgent.cpp:2146 | sip:76800 at avaya.com CUserAgent::onReadyToSend
>>> (CISH) on session 23 - SipResp: 200 tid=83A503034493935543998a.0
>>> cseq=UPDATE contact=56000 / 1 from(tu)
>>> ![2007-03-07 20:14:53.399] <2840:RESIP:APP> INFO |
>>> UserAgent.cpp:2147 | NO OP
>>> ![2007-03-07 20:14:53.399] <2840:RESIP:DUM> DEBUG |
>>> DialogUsageManager.cxx:800 | SEND:
>>>
>>> SIP/2.0 200 OK
>>>
>>> Via: SIP/2.0/UDP
>>> 135.8.52.181:5060;branch=z9hG4bK83A503034493935543998a.0
>>>
>>> Via: SIP/2.0/TLS
>>> avaya.com;psrrposn=1;received=135.8.83.172;branch=z9hG4bK80945f2f40d
>>> ddb1c1b46f94dc00
>>>
>>> Record-Route: <sip:135.8.52.181:5060;lr>
>>>
>>> Contact: <sip:56000>
>>>
>>> To: "IC 7.1 B2B"<sip:56000 at avaya.com>;tag=b855e212
>>>
>>> From: <sip:76800 at avaya.com>;tag=0945f2f40dddb181b46f94dc00
>>>
>>> Call-ID: ZDU4Yjg4M2UxYTE1MjRiNzJkZTU3ZWMzYmNlMjZlZjk.
>>>
>>> CSeq: 1 UPDATE
>>>
>>> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
>>>
>>> User-Agent: AvSIP 1.04.2
>>>
>>> Content-Length: 0
>>>
>>>
>>>
>>>
>>> ![2007-03-07 20:14:53.399] <2840:RESIP> DEBUG | SipStack.cxx:
>>> 290 | SEND: SipResp: 200 tid=83A503034493935543998a.0 cseq=UPDATE
>>> contact=56000 / 1 from(tu)
>>> ![2007-03-07 20:14:53.414] <2952:RESIP:TRANSACTION> DEBUG |
>>> TimerQueue.cxx:85 | Adding timer: Timer J
>>> tid=83A503034493935543998a.0 ms=32000
>>> ![2007-03-07 20:14:53.414] <2952:RESIP:TRANSPORT> DEBUG |
>>> TransportSelector.cxx:521 | Looked up source for destination:
>>> [ V4 135.8.52.181:5060 UDP target domain=unspecified received on:
>>> Transport: [ V4 0.0.0.0:5060 UDP target domain=unspecified
>>> connectionId=0 ] connectionId=0 ] -> [ V4 135.8.116.33:0 UDP
>>> target domain=unspecified received on: Transport: [ V4
>>> 0.0.0.0:5060 UDP target domain=unspecified connectionId=0 ]
>>> connectionId=0 ] sent-by=135.8.52.181 sent-port=5060
>>> ![2007-03-07 20:14:53.414] <2952:RESIP:TRANSPORT> DEBUG |
>>> TransportSelector.cxx:869 | Transmitting to [ V4
>>> 135.8.52.181:5060 UDP target domain=unspecified received on:
>>> Transport: [ V4 0.0.0.0:5060 UDP target domain=unspecified
>>> connectionId=0 ] connectionId=0 ] tlsDomain= via [ V4
>>> 135.8.116.33:5060 UDP target domain=unspecified received on:
>>> Transport: [ V4 0.0.0.0:5060 UDP target domain=unspecified
>>> connectionId=0 ] connectionId=0 ]
>>>
>>> SIP/2.0 200 OK
>>>
>>> Via: SIP/2.0/UDP
>>> 135.8.52.181:5060;branch=z9hG4bK83A503034493935543998a.0
>>>
>>> Via: SIP/2.0/TLS
>>> avaya.com;psrrposn=1;received=135.8.83.172;branch=z9hG4bK80945f2f40d
>>> ddb1c1b46f94dc00
>>>
>>> Record-Route: <sip:135.8.52.181:5060;lr>
>>>
>>> Contact: <sip:56000 at 135.8.116.33:5060>
>>>
>>> To: "IC 7.1 B2B"<sip:56000 at avaya.com>;tag=b855e212
>>>
>>> From: <sip:76800 at avaya.com>;tag=0945f2f40dddb181b46f94dc00
>>>
>>> Call-ID: ZDU4Yjg4M2UxYTE1MjRiNzJkZTU3ZWMzYmNlMjZlZjk.
>>>
>>> CSeq: 1 UPDATE
>>>
>>> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
>>>
>>> User-Agent: AvSIP 1.04.2
>>>
>>> Content-Length: 0
>>>
>>>
>>>
>>>
>>> ![2007-03-07 20:14:53.414] <2952:RESIP:TRANSPORT> DEBUG |
>>> Transport.cxx:213 | Adding message to tx buffer to: [ V4
>>> 135.8.52.181:5060 UDP target domain=unspecified received on:
>>> Transport: [ V4 0.0.0.0:5060 UDP target domain=unspecified
>>> connectionId=0 ] connectionId=0 ]
>>>
>>> Bill Kovar
>>> bkovar at avaya.com
>>> Avaya, Inc.
>>> (732) 852-2609
>>>
>>> _______________________________________________
>>> resiprocate-devel mailing list
>>> resiprocate-devel at list.resiprocate.org
>>> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>>
>
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at list.resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20070307/3b407562/attachment.htm>
More information about the resiprocate-devel
mailing list