[reSIProcate] Request Line construction problems during shuffle re-invite in Dialog::makerequest()

Kovar, William (Bill) bkovar at avaya.com
Fri Nov 17 18:31:44 CST 2006


Scott,
 
In trying to identify who is violating the SIP spec....
I send an Invite which gets answered with a 200 that has a malformed
Contact header, i.e. no userinfo part.
DUM sends the ACK to the malformed URI successfully.
I Send an re-Invite using provideOffer() and Req-URI for the Invite is
bad. The Invite times-out.
 
This is really baffling me as to who is breaking the spec because some
have told me that the Contact header in this form is OK except for the
initial invite.
 
Anybody have an opinion??
 
Bill Kovar
bkovar at avaya.com
Avaya, Inc.
(732) 852-2609
 


  _____  

	From: Scott Godin [mailto:slgodin at icescape.com] 
	Sent: Tuesday, November 07, 2006 8:02 PM
	To: Kovar, William (Bill); resiprocate-devel at list.sipfoundry.org
	Subject: RE: [reSIProcate] Request Line construction problems
during shuffle re-invite in Dialog::makerequest()
	
	

	What you are doing sounds fine.

	 

	The request line on your the outbound re-invite is likely from
the contact header of the 200 from the initial invite - I'm assuming it
is a server invite session.

	 

	Scott

	 

	From: resiprocate-devel-bounces at list.sipfoundry.org
[mailto:resiprocate-devel-bounces at list.sipfoundry.org] On Behalf Of
Kovar, William (Bill)
	Sent: Tuesday, November 07, 2006 6:55 PM
	To: resiprocate-devel at list.sipfoundry.org
	Subject: [reSIProcate] Request Line construction problems during
shuffle re-invite in Dialog::makerequest()

	 

	All,

	 

	I'm seeing a problem with Dialog::makerequest() when receiving a
ReInvite. The provideOffer() method attempts to build the INVITE message
and does so with an invalid Request Line, i.e. INVITE sip:domain.com
where the user part is missing. Below are snips from the log showing the
incoming INVITE, the provideOffer(), and the subsequent prints in
makerequest().

	 

	The complete sequence is shown in the attached trace, but a pair
of connected sessions, that are being managed by a B2B, is being sent a
re-invite, which I have to provideOffer() to the other side of the B2B.
The provideOffer() is being done from within onAnswer() within the same
DUM and thread instance (but using DumThread and StackThread). I put
some prints into Dialog::makerequest() and found that it was accessing a
member variable, mRemoteTarget.Uri, within the Dialog. The Re-invite
comes in on 1 session, and I'm sending the offer on a different session,
the call ids are different and hence the dialogs should be different. 

	 

	I'm on a older version of resip from SVN (circa mar 06) but just
pulled down the 1.0.1 tarball and didn't see any change to Dialog.cxx
that would address this.

	 

	Is what I am trying to do legal and if so, any ideas why the
request line is being built incorrectly?

	 

	Bill Kovar

	 

	
	INVITE sip:55123 at 135.8.116.33:5060 SIP/2.0
	Via: SIP/2.0/UDP
135.8.52.181:5060;branch=z9hG4bKD256464603538333231180b.0
	Via: SIP/2.0/UDP
135.8.52.54:36092;psrrposn=1;received=135.8.52.54;branch=z9hG4bK-d87543-
7e2466749713bd4c-1--d87543-;rport=36092
	Max-Forwards: 69
	Record-Route: <sip:135.8.52.181:5060;lr>
	Contact:
<sip:55501 at 135.8.52.54:36092;rinstance=47c2eadfce5cb0e5>
	To: "IC 7.1 B2B"<sip:55123 at avaya.com>;tag=87167f3f
	From: <sip:55501 at avaya.com>;tag=d52d576b
	Call-ID:
e03e8a100527ad51ZTU2NTMzOTg2ZDMyYzc4MWNiYjc4MzMzMGUwNGJkYWM.
	CSeq: 3 INVITE
	Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY,
MESSAGE, SUBSCRIBE, INFO
	Content-Type: application/sdp
	User-Agent: X-Lite release 1003l stamp 30942
	P-Asserted-Identity: sip:55501 at avaya.com
	Content-Length: 231
	 
	v=0
	o=- 9 4 IN IP4 135.8.52.54
	s=CounterPath eyeBeam 1.5
	c=IN IP4 0.0.0.0
	t=0 0
	m=audio 17010 RTP/AVP 0 127
	a=fmtp:127 0-15
	a=rtpmap:127 telephone-event/8000
	a=sendonly
	a=x-rtp-session-id:663EBBA451B741909024C82821116262
	
	Fixed SDP (Eyebeam sends an old style Hold with Connection =
0.0.0.0 which is problematic for me...)
	o=- 9 4 IN IP4 135.8.52.54
	s=CounterPath eyeBeam 1.5
	c=IN IP4 135.8.52.54
	t=0 0
	m=audio 17010 RTP/AVP 0 127
	a=fmtp:127 0-15
	a=rtpmap:127 telephone-event/8000
	a=sendonly
	a=x-rtp-session-id:663EBBA451B741909024C82821116262
	 
	Problematic DUM code:
	INFO | 20061107-180909.164 | SipSwitch | RESIP:DUM | 5064 |
ServerInviteSession.cxx:154 | InviteSession::Connected: provideOffer
	INFO | 20061107-180909.164 | SipSwitch | RESIP:DUM | 5064 |
InviteSession.cxx:2032 | Transition InviteSession::Connected ->
InviteSession::SentReinvite
	DEBUG | 20061107-180909.164 | SipSwitch | RESIP:DUM | 5064 |
Dialog.cxx:834 | +++++++ mRemoteTarget.Uri =
sip:135.8.135.123;transport=tcp
	DEBUG | 20061107-180909.164 | SipSwitch | RESIP:DUM | 5064 |
Dialog.cxx:836 | +++++++ Rline = INVITE sip:135.8.135.123;transport=tcp
SIP/2.0
	DEBUG | 20061107-180909.164 | SipSwitch | RESIP:DUM | 5064 |
Dialog.cxx:901 | Dialog::makeRequest: INVITE
sip:135.8.135.123;transport=tcp SIP/2.0
	Via: SIP/2.0/
;branch=z9hG4bK-d87543-2a190f6cd355ba15-1--d87543-;rport
	Max-Forwards: 70
	Route: <sip:135.8.52.181:5060;lr>
	Route: <sip:135.8.135.123;lr;transport=tcp>
	Contact:
<sip:55123 at 135.8.116.33:5060;rinstance=013fc72a18699110>
	To: "Kowen's IPA
321"<sip:32100 at avaya.com>;tag=092b1eb9f80db1ee1345461dba00
	From: "55123"<sip:55123 at avaya.com>;tag=fc7a402d
	Call-ID: 092b1eb9f80db1ef1345461dba00
	CSeq: 2 INVITE
	Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, NOTIFY
	Content-Length: 0

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20061117/7595f432/attachment.htm>


More information about the resiprocate-devel mailing list