[reSIProcate] Route Set problem with Update in resip 1.1 RC1

Scott Godin slgodin at icescape.com
Thu Mar 8 12:29:32 CST 2007


Ah - I think I figured out what is updating the CSeq in
creator->getLastRequest - we use a SharedPtr to pass the lastRequest
message from the creator to ClientInviteSession and it get's stored as
mLastSessionModification.  Every re-invite we sent out uses this
sharedptr to create the new request.  This consequently updates the
message retrieved by creator->getLastRequest(). 

 

I'll look into fixing this.

 

Thanks ,

 

Scott

 

From: Scott Godin 
Sent: Thursday, March 08, 2007 1:20 PM
To: 'Kovar, William (Bill)'; 'Byron Campen'
Cc: 'Robert Sparks'; 'resiprocate-devel at list.resiprocate.org'
Subject: RE: [reSIProcate] Route Set problem with Update in resip 1.1
RC1

 

Thanks for trying again Bill - but I must admit - I'm baffled.

 

1.       Creator->getLastRequest()->header(h_CSeq).sequence() should be
1 when initial invite is sent.

2.       Creator->getLastRequest()->header(h_CSeq).sequence() is changed
to 2 when INVITE with ProxyAuth is sent out

3.       Creator->getLastRequest()->header(h_CSeq).sequence() should not
be modified again (I can't find any where that would modify it).

4.       The 200 response to your re-invite carries a CSeq of 3.  And
since 3 doesn't equal
Creator->getLastRequest()->header(h_CSeq).sequence() -> 2 - then the
routeset should not be updated - when using the following code (in
Dialog::dispatch for responses):

 

      const SipMessage& response = msg;

      int code = response.header(h_StatusLine).statusCode();

      // If this is a 200 response to the initial request, then store
the routeset (if present)

      BaseCreator* creator = mDialogSet.getCreator();

      if (creator &&
(creator->getLastRequest()->header(h_CSeq).sequence() ==
response.header(h_CSeq).sequence()) && code >=200 && code < 300)

      {

         if (response.exists(h_RecordRoutes))

         {

            mRouteSet = response.header(h_RecordRoutes).reverse();

         }

      }

 

 

Any idea's why?  Do you any other local edits that may be causing
creator->getLastRequests sequence number to be incremented (perhaps
modifications to ClientAuthManager)?

 

Scott

 

From: Kovar, William (Bill) [mailto:bkovar at avaya.com] 
Sent: Thursday, March 08, 2007 12:27 PM
To: Scott Godin; Byron Campen
Cc: Robert Sparks; resiprocate-devel at list.resiprocate.org
Subject: RE: [reSIProcate] Route Set problem with Update in resip 1.1
RC1

 

Scott, 

 

I put your code back in and ran the scenario where I send INVITE, INVITE
w/Proxy-Auth and Re-Invite.

 

Each 200 OK updated mRouteSet

 

See log snip below:

 

------------>>>>>>>> INITIAL INVITE
 ![2007-03-08 16:58:24.424] <1524: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
]

 

INVITE sip:76800 at avaya.com SIP/2.0

 

Via: SIP/2.0/UDP
135.8.116.33:5060;branch=z9hG4bK-d8754z-7034f95d557c5006-1---d8754z-;rpo
rt

 

Max-Forwards: 70

 

Contact: <sip:56000 at 135.8.116.33:5060>

 

To: <sip:76800 at avaya.com>

 

From: "IC 7.1 B2B"<sip:56000 at avaya.com>;tag=e0733a11

 

Call-ID: NTlhOWI1MTZmNDIzMWZiZjlkZmYzN2VlY2U0ZTAwNDI.

 

CSeq: 1 INVITE

 

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY

 

User-Agent: AvSIP 1.04.2

 

Content-Length: 0

 

-------------->>>>>>>>>>> INVITE w/Proxy-Auth

 

 ![2007-03-08 16:58:24.471] <1524: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
]

 

INVITE sip:76800 at avaya.com SIP/2.0

 

Via: SIP/2.0/UDP
135.8.116.33:5060;branch=z9hG4bK-d8754z-e154f11ec7627f48-1---d8754z-;rpo
rt

 

Max-Forwards: 70

 

Contact: <sip:56000 at 135.8.116.33:5060>

 

To: <sip:76800 at avaya.com>

 

From: "IC 7.1 B2B"<sip:56000 at avaya.com>;tag=e0733a11

 

Call-ID: NTlhOWI1MTZmNDIzMWZiZjlkZmYzN2VlY2U0ZTAwNDI.

 

CSeq: 2 INVITE

 

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY

 

Proxy-Authorization: Digest
username="56000",realm="avaya.com",nonce="MTE3MzQwNzE0NjpTREZTZXJ2ZXJTZW
NyZXRLZXk6MTkzOTg5MjA3NA==",uri="sip:76800 at avaya.com",response="dbb73584
19477f367f4a07816d2cc48c",algorithm=MD5

 

User-Agent: AvSIP 1.04.2

 

Content-Length: 0

 

-------------------------->>>>> 200 OK w/mRouteSet being assigned
 ![2007-03-08 16:58:24.674] <808:RESIP:DUM>  DEBUG | DialogId.cxx:50 |
DialogId::DialogId:
NTlhOWI1MTZmNDIzMWZiZjlkZmYzN2VlY2U0ZTAwNDI.-e0733a11-804697e7eddddb1f12
046f94dc00
 ![2007-03-08 16:58:24.674] <808:RESIP:DUM>  DEBUG | DialogSet.cxx:428 |
Found matching dialog mClientSubscriptions(0), mServerSubscriptions(0)
for 

 

SIP/2.0 200 OK

 

Via: SIP/2.0/UDP
135.8.116.33:5060;received=135.8.116.33;branch=z9hG4bK-d8754z-e154f11ec7
627f48-1---d8754z-;rport=5060

 

Record-Route: <sip:135.8.83.172:5061;lr;transport=tls>

 

Record-Route: <sip:135.8.52.181:5060;lr>

 

Contact: "meet me 1"<sip:76800 at avaya.com:5061;transport=tls>;isfocus

 

To: <sip:76800 at avaya.com>;tag=804697e7eddddb1f12046f94dc00

 

From: "IC 7.1 B2B"<sip:56000 at avaya.com>;tag=e0733a11

 

Call-ID: NTlhOWI1MTZmNDIzMWZiZjlkZmYzN2VlY2U0ZTAwNDI.

 

CSeq: 2 INVITE

 

Session-Expires: 240;refresher=uas

 

Allow: INVITE, CANCEL, BYE, ACK, PRACK, SUBSCRIBE, NOTIFY, REFER,
OPTIONS

 

Content-Type: application/sdp

 

Server: Avaya CM/R013x.01.2.632.1

 

Supported: 100rel, timer, replaces, join, histinfo

 

P-Asserted-Identity: "meet me 1" <sip:76800 at avaya.com:5061>

 

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 42532 RTP/AVP 0 18 127

 

a=rtpmap:0 PCMU/8000

 

a=rtpmap:18 G729/8000

 

a=fmtp:18 annexb=no

 

a=rtpmap:127 telephone-event/8000

 


 ![2007-03-08 16:58:24.674] <808:RESIP:DUM>  DEBUG | Dialog.cxx:315 |
Dialog::dispatch: SipResp: 200 tid=e154f11ec7627f48 cseq=INVITE
contact=76800 at avaya.com:5061 / 2 from(wire)
 ![2007-03-08 16:58:24.674] <808:RESIP:DUM>  INFO | Dialog.cxx:582 |
############# Setting Route Set
 ![2007-03-08 16:58:24.674] <808:RESIP>  DEBUG | sipmessage.cxx:963 |
SipMessage::getContents: application/sdp
 ![2007-03-08 16:58:24.674] <808:RESIP>  DEBUG | helper.cxx:2035 | Got
sdp

 

 ![2007-03-08 16:58:24.674] <808:RESIP:DUM>  INFO |
InviteSession.cxx:2067 | Transition UAC_Early -> UAC_Answered
 ![2007-03-08 16:58:24.674] <808:RESIP:APP>  INFO | UserAgent.cpp:901 |
sip:76800 at avaya.com: CUserAgent::onOffer(ISH SDP) on session 23 -
SipResp: 200 tid=e154f11ec7627f48 cseq=INVITE
contact=76800 at avaya.com:5061 
 
 ----------------------------->>>>> Next Invite (3)
  ![2007-03-08 16:58:34.283] <1524: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
]
 
 INVITE sip:76800 at avaya.com:5061;transport=tls SIP/2.0
 
 Via: SIP/2.0/UDP
135.8.116.33:5060;branch=z9hG4bK-d8754z-f26e897b7b668a40-1---d8754z-;rpo
rt
 
 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=804697e7eddddb1f12046f94dc00
 
 From: "IC 7.1 B2B"<sip:56000 at avaya.com>;tag=e0733a11
 
 Call-ID: NTlhOWI1MTZmNDIzMWZiZjlkZmYzN2VlY2U0ZTAwNDI.
 
 CSeq: 3 INVITE
 
 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY
 
 Content-Type: application/sdp
 
 Proxy-Authorization: Digest
username="56000",realm="avaya.com",nonce="MTE3MzQwNzE0NjpTREZTZXJ2ZXJTZW
NyZXRLZXk6MTkzOTg5MjA3NA==",uri="sip:76800 at avaya.com:5061;transport=tls"
,response="611b2402bbc088a03334ce5ed24221bf",algorithm=MD5
 
 User-Agent: AvSIP 1.04.2
 
 Content-Length: 151
 
 
 
 v=0
 
 o=- 1 12 IN IP4 135.8.83.172
 
 s=-
 
 c=IN IP4 0.0.0.0
 
 t=0 0
 
 m=audio 42516 RTP/AVP 0 127
 
 a=rtpmap:0 PCMU/8000
 
 a=rtpmap:127 telephone-event/8000

 

--------------------->>>>>>>>>>>>>>   200 OK (3) set mRouteSet again!!

 

 ![2007-03-08 16:58:34.345] <808:RESIP:DUM>  DEBUG | DialogId.cxx:50 |
DialogId::DialogId:
NTlhOWI1MTZmNDIzMWZiZjlkZmYzN2VlY2U0ZTAwNDI.-e0733a11-804697e7eddddb1f12
046f94dc00
 ![2007-03-08 16:58:34.345] <808:RESIP:DUM>  DEBUG | DialogSet.cxx:428 |
Found matching dialog mClientSubscriptions(0), mServerSubscriptions(0)
for 

 

SIP/2.0 200 OK

 

Via: SIP/2.0/UDP
135.8.116.33:5060;received=135.8.116.33;branch=z9hG4bK-d8754z-f26e897b7b
668a40-1---d8754z-;rport=5060

 

Record-Route: <sip:135.8.52.181:5060;lr>

 

Contact: "  CONFERENCE
2"<sip:76800 at avaya.com:5061;transport=tls>;isfocus

 

To: <sip:76800 at avaya.com>;tag=804697e7eddddb1f12046f94dc00

 

From: "IC 7.1 B2B"<sip:56000 at avaya.com>;tag=e0733a11

 

Call-ID: NTlhOWI1MTZmNDIzMWZiZjlkZmYzN2VlY2U0ZTAwNDI.

 

CSeq: 3 INVITE

 

Session-Expires: 240;refresher=uas

 

Allow: INVITE, CANCEL, BYE, ACK, PRACK, SUBSCRIBE, NOTIFY, REFER,
OPTIONS

 

Content-Type: application/sdp

 

Server: Avaya CM/R013x.01.2.632.1

 

Supported: 100rel, timer, replaces, join, histinfo

 

Content-Length: 150

 

 

 

v=0

 

o=- 1 3 IN IP4 135.8.83.172

 

s=-

 

c=IN IP4 0.0.0.0

 

t=0 0

 

m=audio 42532 RTP/AVP 0 127

 

a=rtpmap:0 PCMU/8000

 

a=rtpmap:127 telephone-event/8000

 


 ![2007-03-08 16:58:34.345] <808:RESIP:DUM>  DEBUG | Dialog.cxx:315 |
Dialog::dispatch: SipResp: 200 tid=f26e897b7b668a40 cseq=INVITE
contact=76800 at avaya.com:5061 / 3 from(wire)
 ![2007-03-08 16:58:34.345] <808:RESIP:DUM>  DEBUG |
ClientAuthManager.cxx:41 | ClientAuthManager::handle: transitioning
NTlhOWI1MTZmNDIzMWZiZjlkZmYzN2VlY2U0ZTAwNDI.-e0733a11to cached
 ![2007-03-08 16:58:34.345] <808:RESIP:DUM>  DEBUG |
ClientAuthManager.cxx:193 | ClientAuthManager::RealmState::transition
from cached to cached
 ![2007-03-08 16:58:34.345] <808:RESIP:DUM>  INFO | Dialog.cxx:582 |
############# Setting Route Set
 ![2007-03-08 16:58:34.345] <808:RESIP>  DEBUG | sipmessage.cxx:963 |
SipMessage::getContents: application/sdp
 ![2007-03-08 16:58:34.345] <808:RESIP>  DEBUG | helper.cxx:2035 | Got
sdp

 

 ![2007-03-08 16:58:34.345] <808:RESIP:DUM>  INFO |
InviteSession.cxx:2067 | Transition InviteSession::SentReinvite ->
InviteSession::Connected

 

Bill Kovar

bkovar at avaya.com

Avaya, Inc.

(732) 852-2609

 

	 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20070308/96c05a43/attachment.htm>


More information about the resiprocate-devel mailing list