cgs1999 / jain-sip

Automatically exported from code.google.com/p/jain-sip
0 stars 0 forks source link

Interoperability Issues with reSIProcate #35

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
1. a user can't register with reSIProcate with patch for SIP Over WebSockets 
from SIPML5 because reSIProcate sends back the response to the REGISTER via TCP 
port 5060. I believe it does that because it does not know the port it should 
use.

using rport= in the Via fixes it (even though reSIProcate shouldn't care 
because it is ovr TCP and should reuse the Connection)

2. After the rport fix, the client crashes with the errors below.

SIP message sent: REGISTER sip:robotics.net SIP/2.0
Call-ID: 1352416918007
CSeq: 1 REGISTER
From: <sip:1009@robotics.net>;tag=1352416918018
To: <sip:1009@robotics.net>
Via: SIP/2.0/WS Pof71HhIxUut.invalid;branch=z9hG4bK1352416917943;rport
Max-Forwards: 70
Expires: 3600
User-Agent: MobicentsWebRTCPhone
Allow: INVITE,UPDATE,ACK,CANCEL,BYE,NOTIFY,OPTIONS,MESSAGE,REFER
Contact: <sip:1009@Pof71HhIxUut.invalid;transport=ws>
Content-Length: 0

 jain-sip.js:20682

StringMsgParser:parseSIPMessagebyte(): catched exception:TypeError: Cannot call 
method 'charCodeAt' of undefined jain-sip.js:11994

Uncaught TypeError: Cannot call method 'getContentLength' of null 
jain-sip.js:15406

Original issue reported on code.google.com by jean.deruelle on 9 Nov 2012 at 12:42

GoogleCodeExporter commented 9 years ago
This issue was updated by revision 9a46a3b10a86.

Fixes first interop problem by using rport by default in Via Header

Original comment by jean.deruelle on 9 Nov 2012 at 12:44

GoogleCodeExporter commented 9 years ago

Original comment by jean.deruelle on 9 Nov 2012 at 12:45

GoogleCodeExporter commented 9 years ago
reSIProcate logs now showing a reply to the client, however the client errors 
out:

StringMsgParser:parseSIPMessagebyte(): catched exception:TypeError: Cannot call 
method 'charCodeAt' of undefined jain-sip.js:11994
Uncaught TypeError: Cannot call method 'getContentLength' of null 

reSIProcate DEBUG log:

DEBUG | 20121109-135514.008 | repro | RESIP:TRANSPORT | 139694859962112 | 
TcpBaseTransport.cxx:167 | Received TCP connection from: [ V4 
75.148.206.241:42518 WS target domain=unspecified mFlowKey=0 ] as fd=37
DEBUG | 20121109-135514.008 | repro | RESIP:TRANSPORT | 139694859962112 | 
ConnectionManager.cxx:88 | Could not find a connection for [ V4 
75.148.206.241:42518 WS target domain=unspecified mFlowKey=0 ]
DEBUG | 20121109-135514.009 | repro | RESIP:TRANSPORT | 139694859962112 | 
ConnectionBase.cxx:56 | ConnectionBase::ConnectionBase, who: [ V4 
75.148.206.241:42518 WS target domain=unspecified mFlowKey=0 ] 0x7f0d24002c20
DEBUG | 20121109-135514.009 | repro | RESIP:TRANSPORT | 139694859962112 | 
ConnectionBase.cxx:69 | No compression library available: 0x7f0d24002c20
INFO | 20121109-135514.009 | repro | RESIP:TRANSPORT | 139694859962112 | 
Connection.cxx:38 | Connection::Connection: new connection created to who: [ V4 
75.148.206.241:42518 WS target domain=unspecified mFlowKey=37 ]
DEBUG | 20121109-135514.009 | repro | RESIP:TRANSPORT | 139694859962112 | 
TcpConnection.cxx:18 | Creating TCP connection [ V4 75.148.206.241:42518 WS 
target domain=unspecified mFlowKey=0 ] on 37
DEBUG | 20121109-135514.009 | repro | RESIP:TRANSPORT | 139694859962112 | 
ConnectionBase.cxx:909 | Creating buffer for CONN_BASE: 0x7f0d24002c20 [ V4 
75.148.206.241:42518 WS target domain=unspecified mFlowKey=37 ]
DEBUG | 20121109-135514.009 | repro | RESIP:TRANSPORT | 139694859962112 | 
Connection.cxx:400 | Connection::performReads()  read=306
INFO | 20121109-135514.009 | repro | RESIP:TRANSPORT | 139694859962112 | 
TcpConnection.cxx:42 | No data ready to read
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSPORT | 139694859962112 | 
ConnectionBase.cxx:121 | In State: NewMessage
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSPORT | 139694859962112 | 
ConnectionBase.cxx:171 | ConnectionBase::process setting source [ V4 
75.148.206.241:42518 WS target domain=unspecified mFlowKey=37 ]
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSPORT | 139694859962112 | 
Transport.cxx:382 | incoming from: [ V4 75.148.206.241:42518 WS target 
domain=unspecified mFlowKey=37 ]
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSPORT | 139694859962112 | 
ConnectionBase.cxx:429 | ##Connection: CONN_BASE: 0x7f0d24002c20 [ V4 
75.148.206.241:42518 WS target domain=unspecified mFlowKey=37 ] received: 
REGISTER sip:robotics.net SIP/2.0
Via: SIP/2.0/WS 
cVNZScEmcrWk.invalid;branch=z9hG4bK1352469334013;rport=42518;received=75.148.206
.241
Max-Forwards: 70
Contact: <sip:1009@cVNZScEmcrWk.invalid;transport=ws>
To: <sip:1009@robotics.net>
From: <sip:1009@robotics.net>;tag=1352469334069
Call-ID: 1352469334058
CSeq: 1 REGISTER
Expires: 3600
Allow: INVITE, UPDATE, ACK, CANCEL, BYE, NOTIFY, OPTIONS, MESSAGE, REFER
User-Agent: MobicentsWebRTCPhone
Content-Length: 0

DEBUG | 20121109-135514.051 | repro | RESIP:TRANSPORT | 139694859962112 | 
Connection.cxx:400 | Connection::performReads()  read=444
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSPORT | 139694859962112 | 
ConnectionBase.cxx:909 | Creating buffer for CONN_BASE: 0x7f0d24002c20 [ V4 
75.148.206.241:42518 WS target domain=unspecified mFlowKey=37 ]
INFO | 20121109-135514.051 | repro | RESIP:TRANSPORT | 139694859962112 | 
TcpConnection.cxx:42 | No data ready to read
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSACTION | 139694870451968 | 
TransactionUser.cxx:79 | Checking if SipReq:  REGISTER robotics.net 
tid=1352469334013 cseq=1 REGISTER contact=1009@cvnzscemcrwk.invalid / 1 
from(wire) is for me
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSACTION | 139694870451968 | 
TransactionUser.cxx:84 | Checking rule...
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSACTION | 139694870451968 | 
MessageFilterRule.cxx:45 | Matching rule for: 

REGISTER sip:robotics.net SIP/2.0
Via: SIP/2.0/WS 
cVNZScEmcrWk.invalid;branch=z9hG4bK1352469334013;rport=42518;received=75.148.206
.241
Max-Forwards: 70
Contact: <sip:1009@cVNZScEmcrWk.invalid;transport=ws>
To: <sip:1009@robotics.net>
From: <sip:1009@robotics.net>;tag=1352469334069
Call-ID: 1352469334058
CSeq: 1 REGISTER
Expires: 3600
Allow: INVITE, UPDATE, ACK, CANCEL, BYE, NOTIFY, OPTIONS, MESSAGE, REFER
User-Agent: MobicentsWebRTCPhone
Content-Length: 0

DEBUG | 20121109-135514.051 | repro | RESIP:TRANSACTION | 139694870451968 | 
TransactionUser.cxx:87 | Match!
DEBUG | 20121109-135514.051 | repro | RESIP | 139694870451968 | Helper.cxx:373 
| Helper::makeResponse(SipReq:  REGISTER robotics.net tid=1352469334013 cseq=1 
REGISTER contact=1009@cvnzscemcrwk.invalid / 1 from(wire) code=100 reason=
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSACTION | 139694870451968 | 
TimerQueue.cxx:41 | Adding timer: Timer Trying tid=1352469334013 ms=3500
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSACTION | 139694870451968 | 
TuSelector.cxx:70 | Send to TU: TU: DialogUsageManager size=0 

REGISTER sip:robotics.net SIP/2.0
Via: SIP/2.0/WS 
cVNZScEmcrWk.invalid;branch=z9hG4bK1352469334013;rport=42518;received=75.148.206
.241
Max-Forwards: 70
Contact: <sip:1009@cVNZScEmcrWk.invalid;transport=ws>
To: <sip:1009@robotics.net>
From: <sip:1009@robotics.net>;tag=1352469334069
Call-ID: 1352469334058
CSeq: 1 REGISTER
Expires: 3600
Allow: INVITE, UPDATE, ACK, CANCEL, BYE, NOTIFY, OPTIONS, MESSAGE, REFER
User-Agent: MobicentsWebRTCPhone
Content-Length: 0

DEBUG | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
TlsPeerAuthManager.cxx:116 | Can't validate certificate on non-TLS connection
INFO | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
DialogUsageManager.cxx:1591 | Got: SipReq:  REGISTER robotics.net 
tid=1352469334013 cseq=1 REGISTER contact=1009@cvnzscemcrwk.invalid / 1 
from(wire)
DEBUG | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
DialogUsageManager.cxx:1947 | DialogUsageManager::processRequest: SipReq:  
REGISTER robotics.net tid=1352469334013 cseq=1 REGISTER 
contact=1009@cvnzscemcrwk.invalid / 1 from(wire)
DEBUG | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
DialogSet.cxx:84 |  ************* Created DialogSet(UAS) *************: 
1352469334058-66f6eb4e
DEBUG | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
DialogId.cxx:50 | DialogId::DialogId: 1352469334058-729e2d5e-1352469334069
DEBUG | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
ServerRegistration.cxx:176 | got a registration
DEBUG | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
InMemorySyncRegDb.cxx:195 | InMemorySyncRegDb::lockRecord:  
aor=sip:1009@robotics.net threadid=139694838982400
INFO | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
ServerRegistration.cxx:379 | Adding sip:1009@robotics.net -> 
<sip:1009@cVNZScEmcrWk.invalid;transport=ws>
DEBUG | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
ServerRegistration.cxx:380 | Contact has tuple [ V4 75.148.206.241:42518 WS 
target domain=unspecified mFlowKey=37 ] and detected public address [ V4 
75.148.206.241:42518 WS target domain=unspecified mFlowKey=0 ]
DEBUG | 20121109-135514.051 | repro | REPRO:APP | 139694838982400 | 
Registrar.cxx:84 | Registrar::onAdd SipReq:  REGISTER robotics.net 
tid=1352469334013 cseq=1 REGISTER contact=1009@cvnzscemcrwk.invalid / 1 
from(wire)
DEBUG | 20121109-135514.051 | repro | RESIP | 139694838982400 | Helper.cxx:373 
| Helper::makeResponse(SipReq:  REGISTER robotics.net tid=1352469334013 cseq=1 
REGISTER contact=1009@cvnzscemcrwk.invalid / 1 from(wire) code=200 reason=
INFO | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
ServerRegistration.cxx:49 | accepted a registration sip:1009@robotics.net
DEBUG | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
InMemorySyncRegDb.cxx:216 | InMemorySyncRegDb::unlockRecord:  
aor=sip:1009@robotics.net threadid=139694838982400
DEBUG | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
DialogUsageManager.cxx:983 | SEND: 

SIP/2.0 200 OK
Via: SIP/2.0/WS 
cVNZScEmcrWk.invalid;branch=z9hG4bK1352469334013;rport=42518;received=75.148.206
.241
Contact: <sip:1009@cvnzscemcrwk.invalid;transport=ws>;expires=3600
To: <sip:1009@robotics.net>;tag=c5638e24
From: <sip:1009@robotics.net>;tag=1352469334069
Call-ID: 1352469334058
CSeq: 1 REGISTER
Content-Length: 0

DEBUG | 20121109-135514.051 | repro | RESIP | 139694838982400 | 
SipStack.cxx:570 | SEND: SipResp: 200 tid=1352469334013 cseq=1 REGISTER 
contact=1009@cvnzscemcrwk.invalid / 1 from(tu)
DEBUG | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
DialogUsageManager.cxx:2442 | Got merged request removal request
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSACTION | 139694838982400 | 
TimerQueue.cxx:97 | Adding application timer:  ms=32000
DEBUG | 20121109-135514.051 | repro | RESIP:DUM | 139694838982400 | 
DialogSet.cxx:122 |  ********** DialogSet::~DialogSet: 
1352469334058-66f6eb4e*************
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSPORT | 139694870451968 | 
TransportSelector.cxx:756 | Looked up source for destination: [ V4 
75.148.206.241:42518 WS target domain=unspecified mFlowKey=37 ] -> [ V4 
204.117.64.103:0 WS target domain=unspecified mFlowKey=37 ] 
sent-by=cVNZScEmcrWk.invalid sent-port=0
DEBUG | 20121109-135514.051 | repro | RESIP:TRANSPORT | 139694870451968 | 
TransportSelector.cxx:1168 | Transmitting to [ V4 75.148.206.241:42518 WS 
target domain=unspecified mFlowKey=37 ] tlsDomain= via [ V4 204.117.64.103:8060 
WS target domain=unspecified mFlowKey=37 ]

SIP/2.0 200 OK
Via: SIP/2.0/WS 
cVNZScEmcrWk.invalid;branch=z9hG4bK1352469334013;rport=42518;received=75.148.206
.241
Contact: <sip:1009@cvnzscemcrwk.invalid;transport=ws>;expires=3600
To: <sip:1009@robotics.net>;tag=c5638e24
From: <sip:1009@robotics.net>;tag=1352469334069
Call-ID: 1352469334058
CSeq: 1 REGISTER
Content-Length: 0

sigcomp id=
DEBUG | 20121109-135514.052 | repro | RESIP:TRANSPORT | 139694859962112 | 
TcpBaseTransport.cxx:263 | Processing write for [ V4 75.148.206.241:42518 WS 
target domain=unspecified mFlowKey=37 ]
DEBUG | 20121109-135514.052 | repro | RESIP:TRANSPORT | 139694859962112 | 
ConnectionManager.cxx:59 | Found fd 37

Original comment by nat...@robotics.net on 9 Nov 2012 at 1:57

GoogleCodeExporter commented 9 years ago
We now have it registering using the following patch, but run into issues with 
the 200 OK.

http://share.robotics.net/log.txt

Original comment by nat...@robotics.net on 6 Dec 2012 at 7:10

Attachments: