< Previous by Date | Date Index | Next by Date > |
< Previous in Thread | Thread Index | Next in Thread > |
Hi, Sorry, I failed to explain it clearly. Using as SIP-Proxy the same repro, configured the same way: listening to WebSocket transport on port 10060: (a) When I register a SIP client running in Firefox using an embedded _javascript_ SIP stack I see in Wireshark this: No. Time Delta Source SrcPort Destination DstPort Protocol Length FromUser ToUser Info 1 2015-06-12 14:18:31.247 0.000 172.28.60.1 4022 172.28.120.10 10060 TCP 66 dnox > 10060 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1 2 2015-06-12 14:18:31.247 0.000 172.28.120.10 10060 172.28.60.1 4022 TCP 66 10060 > dnox [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1 3 2015-06-12 14:18:31.247 0.000 172.28.60.1 4022 172.28.120.10 10060 TCP 54 dnox > 10060 [ACK] Seq=1 Ack=1 Win=65536 Len=0 4 2015-06-12 14:18:31.248 0.000 172.28.60.1 4022 172.28.120.10 10060 HTTP 580 GET / HTTP/1.1 5 2015-06-12 14:18:31.252 0.004 172.28.120.10 10060 172.28.60.1 4022 HTTP 221 HTTP/1.1 101 WebSocket Protocol Handshake 6 2015-06-12 14:18:31.267 0.014 172.28.60.1 4022 172.28.120.10 10060 WebSocket 696 WebSocket Text [FIN] [MASKED] 7 2015-06-12 14:18:31.280 0.012 172.28.120.10 10060 172.28.60.1 4022 WebSocket 538 WebSocket Binary [FIN] 8 2015-06-12 14:18:31.476 0.195 172.28.60.1 4022 172.28.120.10 10060 TCP 54 dnox > 10060 [ACK] Seq=1169 Ack=652 Win=65024 Len=0 9 2015-06-12 14:18:32.443 0.966 172.28.60.1 3935 172.28.120.10 10060 TCP 54 sdp-portmapper > 10060 [FIN, ACK] Seq=1 Ack=1 Win=256 Len=0 10 2015-06-12 14:18:32.443 0.000 172.28.120.10 10060 172.28.60.1 3935 TCP 60 10060 > sdp-portmapper [ACK] Seq=1 Ack=2 Win=256 Len=0 11 2015-06-12 14:18:32.448 0.005 172.28.120.10 10060 172.28.60.1 3935 TCP 60 10060 > sdp-portmapper [FIN, ACK] Seq=1 Ack=2 Win=256 Len=0 12 2015-06-12 14:18:32.448 0.000 172.28.60.1 3935 172.28.120.10 10060 TCP 54 sdp-portmapper > 10060 [ACK] Seq=2 Ack=2 Win=256 Len=0 13 2015-06-12 14:20:11.298 98.849 172.28.60.1 4022 172.28.120.10 10060 WebSocket 679 WebSocket Text [FIN] [MASKED] 14 2015-06-12 14:20:11.311 0.013 172.28.120.10 10060 172.28.60.1 4022 WebSocket 538 WebSocket Binary [FIN] 15 2015-06-12 14:20:11.508 0.196 172.28.60.1 4022 172.28.120.10 10060 TCP 54 dnox > 10060 [ACK] Seq=1794 Ack=1136 Win=64512 Len=0 In the packets above the REGISTER is embedded e.g. in packet #6 and its 200 OK is in packet #7 (also in #13 and #14) (b) When I register my SIP UA using reSIProcate I see in Wireshark this: No. Time Delta Source SrcPort Destination DstPort Protocol Length FromUser ToUser Info 1 2015-06-12 14:25:35.464 0.000 172.28.60.1 4232 172.28.120.10 10060 TCP 66 4232 > 10060 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1 2 2015-06-12 14:25:35.466 0.001 172.28.120.10 10060 172.28.60.1 4232 TCP 66 10060 > 4232 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1 3 2015-06-12 14:25:35.466 0.000 172.28.60.1 4232 172.28.120.10 10060 TCP 54 4232 > 10060 [ACK] Seq=1 Ack=1 Win=65536 Len=0 4 2015-06-12 14:25:35.520 0.054 172.28.60.1 4232 172.28.120.10 10060 SIP 727 9005 9005 Request: REGISTER sip:np | XZtJBrL8dIRHzBnSXSHwUg.. 5 2015-06-12 14:25:35.540 0.020 172.28.120.10 10060 172.28.60.1 4232 TCP 60 10060 > 4232 [FIN, ACK] Seq=1 Ack=674 Win=65536 Len=0 6 2015-06-12 14:25:35.540 0.000 172.28.60.1 4232 172.28.120.10 10060 TCP 54 4232 > 10060 [ACK] Seq=674 Ack=2 Win=65536 Len=0 7 2015-06-12 14:25:35.574 0.033 172.28.60.1 4232 172.28.120.10 10060 TCP 54 4232 > 10060 [FIN, ACK] Seq=674 Ack=2 Win=65536 Len=0 8 2015-06-12 14:25:35.574 0.000 172.28.120.10 10060 172.28.60.1 4232 TCP 60 10060 > 4232 [ACK] Seq=2 Ack=675 Win=65536 Len=0 The difference is that my SIP UA using reSIProcate is not making the initial HTTP handshake and upgrade to WebSocket so the REGISTER goes out in plain TCP. repro ends the connection as the UAC did not follow the initial HTTP handshake. And the repro log corresponding to above is: INFO | 20150612-142823.859 | repro.exe | REPRO:APP | 740 | ReproRunner.cxx:213 | Starting repro version 1.9... DEBUG | 20150612-142823.859 | repro.exe | RESIP | 740 | Security.cxx:994 | BaseSecurity::BaseSecurity INFO | 20150612-142824.140 | repro.exe | REPRO:APP | 740 | ReproRunner.cxx:616 | V4 enabled INFO | 20150612-142824.140 | repro.exe | RESIP:DNS | 740 | AresDns.cxx:358 | DNS initialization: found 1 name servers INFO | 20150612-142824.140 | repro.exe | RESIP:DNS | 740 | AresDns.cxx:369 | name server: 127.0.0.1 DEBUG | 20150612-142824.140 | repro.exe | RESIP | 740 | Compression.cxx:44 | COMPRESSION SUPPORT NOT COMPILED IN DEBUG | 20150612-142824.140 | repro.exe | RESIP | 740 | Compression.cxx:47 | Compression configuration object created; algorithm = 0 DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | TransportSelector.cxx:99 | No compression library available DEBUG | 20150612-142824.140 | repro.exe | REPRO:APP | 740 | ReproRunner.cxx:1372 | Found 0 interface(s) defined in the advanced format DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | InternalTransport.cxx:115 | Creating fd=420 V4/UDP DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | InternalTransport.cxx:123 | Binding to 0.0.0.0 INFO | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | UdpTransport.cxx:54 | Creating UDP transport host= port=5060 ipv4=1 DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | UdpTransport.cxx:68 | No compression library available: Transport: [ V4 0.0.0.0:5060 UDP target domain=unspecified mFlowKey=420 ] DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | WinCompat.cxx:190 | WinCompat constructor complete! DEBUG | 20150612-142824.140 | repro.exe | RESIP | 740 | SipStack.cxx:479 | Adding domain alias: 127.0.0.1:5060 DEBUG | 20150612-142824.140 | repro.exe | RESIP | 740 | SipStack.cxx:479 | Adding domain alias: 127.0.0.1:5060 DEBUG | 20150612-142824.140 | repro.exe | RESIP | 740 | SipStack.cxx:479 | Adding domain alias: 172.28.120.10:5060 DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | TransportSelector.cxx:238 | Adding transport: [ V4 0.0.0.0:5060 UDP target domain=unspecified mFlowKey=0 ] DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | ConnectionBase.cxx:71 | ConnectionBase::ConnectionBase, who: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ] 008A9578 DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | ConnectionBase.cxx:84 | No compression library available: 008A9578 INFO | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | Connection.cxx:38 | Connection::Connection: new connection created to who: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ] DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | ConnectionManager.cxx:34 | ConnectionManager::ConnectionManager() called DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | InternalTransport.cxx:115 | Creating fd=440 V4/TCP DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | InternalTransport.cxx:123 | Binding to 0.0.0.0 INFO | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | TcpTransport.cxx:32 | Creating TCP transport host= port=5060 ipv4=1 DEBUG | 20150612-142824.140 | repro.exe | RESIP | 740 | SipStack.cxx:479 | Adding domain alias: 127.0.0.1:5060 DEBUG | 20150612-142824.140 | repro.exe | RESIP | 740 | SipStack.cxx:479 | Adding domain alias: 127.0.0.1:5060 DEBUG | 20150612-142824.140 | repro.exe | RESIP | 740 | SipStack.cxx:479 | Adding domain alias: 172.28.120.10:5060 DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | TransportSelector.cxx:238 | Adding transport: [ V4 0.0.0.0:5060 TCP target domain=unspecified mFlowKey=0 ] DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | ConnectionBase.cxx:71 | ConnectionBase::ConnectionBase, who: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ] 008A9BE8 DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | ConnectionBase.cxx:84 | No compression library available: 008A9BE8 INFO | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | Connection.cxx:38 | Connection::Connection: new connection created to who: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ] DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | ConnectionManager.cxx:34 | ConnectionManager::ConnectionManager() called DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | InternalTransport.cxx:115 | Creating fd=460 V4/TCP DEBUG | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | InternalTransport.cxx:123 | Binding to 0.0.0.0 INFO | 20150612-142824.140 | repro.exe | RESIP:TRANSPORT | 740 | WsTransport.cxx:35 | Creating WS transport host= port=10060 ipv4=1 DEBUG | 20150612-142824.156 | repro.exe | RESIP | 740 | SipStack.cxx:479 | Adding domain alias: 127.0.0.1:10060 DEBUG | 20150612-142824.156 | repro.exe | RESIP | 740 | SipStack.cxx:479 | Adding domain alias: 127.0.0.1:10060 DEBUG | 20150612-142824.156 | repro.exe | RESIP | 740 | SipStack.cxx:479 | Adding domain alias: 172.28.120.10:10060 DEBUG | 20150612-142824.156 | repro.exe | RESIP:TRANSPORT | 740 | TransportSelector.cxx:238 | Adding transport: [ V4 0.0.0.0:10060 WS target domain=unspecified mFlowKey=0 ] DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ReproRunner.cxx:520 | Not compiled with plugin DSO support DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:53 | No BerkeleyDb prefix specified - using default INFO | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:61 | Using BerkeleyDb prefixed with ./\repro DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:138 | About to open Berkeley DB: ./\repro_user.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:166 | Opened Berkeley DB: ./\repro_user.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:138 | About to open Berkeley DB: ./\repro_route.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:166 | Opened Berkeley DB: ./\repro_route.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:138 | About to open Berkeley DB: ./\repro_acl.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:166 | Opened Berkeley DB: ./\repro_acl.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:138 | About to open Berkeley DB: ./\repro_config.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:166 | Opened Berkeley DB: ./\repro_config.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:138 | About to open Berkeley DB: ./\repro_staticreg.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:166 | Opened Berkeley DB: ./\repro_staticreg.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:138 | About to open Berkeley DB: ./\repro_filter.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:166 | Opened Berkeley DB: ./\repro_filter.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:138 | About to open Berkeley DB: ./\repro_silo.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:166 | Opened Berkeley DB: ./\repro_silo.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:182 | About to open secondary Berkeley DB: ./\repro_silo_idx1.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | BerkeleyDb.cxx:209 | Opened secondary Berkeley DB: ./\repro_silo_idx1.db DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:42 | Instantiating new RequestProcessor chain DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:59 | Adding new RequestProcessor to chain: StrictRouteFixup DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:59 | Adding new RequestProcessor to chain: IsTrustedNode DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:59 | Adding new RequestProcessor to chain: AmIResponsible DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:59 | Adding new RequestProcessor to chain: RequestFilter DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:59 | Adding new RequestProcessor to chain: StaticRoute DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:59 | Adding new RequestProcessor to chain: LocationServer INFO | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ReproRunner.cxx:990 | RequestProcessor chain: [StrictRouteFixup, IsTrustedNode, AmIResponsible, RequestFilter, StaticRoute, LocationServer] DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:42 | Instantiating new ResponseProcessor chain DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:59 | Adding new ResponseProcessor to chain: OutboundTargetHandler INFO | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ReproRunner.cxx:1000 | ResponseProcessor chain: [OutboundTargetHandler] DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:42 | Instantiating new TargetProcessor chain DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:59 | Adding new TargetProcessor to chain: QValueTargetHandler DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ProcessorChain.cxx:59 | Adding new TargetProcessor to chain: SimpleTargetHandler INFO | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ReproRunner.cxx:1010 | TargetProcessor chain: [QValueTargetHandler, SimpleTargetHandler] INFO | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ReproRunner.cxx:1302 | Adding domain cliotst from config INFO | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ReproRunner.cxx:1302 | Adding domain cliotst1 from config INFO | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ReproRunner.cxx:1302 | Adding domain neopath.com.br from config INFO | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | ReproRunner.cxx:1302 | Adding domain np from config DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | HttpBase.cxx:78 | Creating fd=860 V4/ DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | HttpBase.cxx:108 | Binding to 0.0.0.0 INFO | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | WebAdmin.cxx:107 | Trying to load web admin users from: users.txt INFO | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | WebAdmin.cxx:192 | Processed 1 user(s) from 1 line(s) in users.txt DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | XmlRpcServerBase.cxx:48 | XmlRpcServerBase::XmlRpcServerBase: Creating fd=904 V4/ DEBUG | 20150612-142824.156 | repro.exe | REPRO:APP | 740 | XmlRpcServerBase.cxx:80 | XmlRpcServerBase::XmlRpcServerBase: Binding to 0.0.0.0 INFO | 20150612-142824.156 | repro.exe | REPRO:APP | 3192 | Proxy.cxx:157 | Proxy::thread start DEBUG | 20150612-142845.968 | repro.exe | RESIP:TRANSPORT | 588 | TcpBaseTransport.cxx:170 | Received TCP connection from: [ V4 172.28.60.1:4317 WS target domain=unspecified mFlowKey=0 ] as fd=1032 DEBUG | 20150612-142845.968 | repro.exe | RESIP:TRANSPORT | 588 | ConnectionManager.cxx:93 | Could not find a connection for [ V4 172.28.60.1:4317 WS target domain=unspecified mFlowKey=0 ] DEBUG | 20150612-142845.968 | repro.exe | RESIP:TRANSPORT | 588 | ConnectionBase.cxx:71 | ConnectionBase::ConnectionBase, who: [ V4 172.28.60.1:4317 WS target domain=unspecified mFlowKey=0 ] 03076168 DEBUG | 20150612-142845.968 | repro.exe | RESIP:TRANSPORT | 588 | ConnectionBase.cxx:84 | No compression library available: 03076168 INFO | 20150612-142845.968 | repro.exe | RESIP:TRANSPORT | 588 | Connection.cxx:38 | Connection::Connection: new connection created to who: [ V4 172.28.60.1:4317 WS target domain=unspecified mFlowKey=1032 ] DEBUG | 20150612-142845.968 | repro.exe | RESIP:TRANSPORT | 588 | TcpConnection.cxx:18 | Creating TCP connection [ V4 172.28.60.1:4317 WS target domain=unspecified mFlowKey=0 ] on 1032 DEBUG | 20150612-142845.968 | repro.exe | RESIP:TRANSPORT | 588 | WsConnection.cxx:17 | Creating WS connection [ V4 172.28.60.1:4317 WS target domain=unspecified mFlowKey=0 ] on 1032 DEBUG | 20150612-142846.015 | repro.exe | RESIP:TRANSPORT | 588 | ConnectionBase.cxx:1011 | Creating buffer for CONN_BASE: 03076168 [ V4 172.28.60.1:4317 WS target domain=unspecified mFlowKey=1032 ] ERR | 20150612-142846.015 | repro.exe | RESIP:TRANSPORT | 588 | ConnectionBase.cxx:752 | No SecWebSocketKey header ERR | 20150612-142846.015 | repro.exe | RESIP:TRANSPORT | 588 | ConnectionBase.cxx:676 | Failed to parse WebSocket initialization request DEBUG | 20150612-142846.031 | repro.exe | RESIP:TRANSPORT | 588 | Connection.cxx:392 | Closing connection bytesRead=-1 DEBUG | 20150612-142846.031 | repro.exe | RESIP:TRANSPORT | 588 | ConnectionBase.cxx:114 | ConnectionBase::~ConnectionBase 03076168 INFO | 20150612-142846.031 | repro.exe | RESIP:TRANSACTION | 2600 | TuSelector.cxx:102 | Sending ConnectionTerminated [ V4 172.28.60.1:4317 WS target domain=unspecified mFlowKey=1032 ] to TUs DEBUG | 20150612-142846.031 | repro.exe | RESIP:DUM | 1860 | DialogUsageManager.cxx:1451 | connection terminated message I must be missing some initial setup in my reSIProcate UA. Thanks and Best Regards. From: slgodin@xxxxxxxxx [mailto:slgodin@xxxxxxxxx] On Behalf Of Scott Godin Sent: Friday, June 12, 2015 12:30 PM To: Julio Cabezas Cc: resiprocate-users@xxxxxxxxxxxxxxx Subject: Re: [reSIProcate-users] Use of Websockets by User Agent You should know that the WS transport is implemented on top of the TcpBaseTransport and TcpConnection in resip. So if you are seeing logs that show TCP then that's why - it doesn't mean its not using WS. All I can see from these logs is that the server is terminating the connection. Did you look in the repro logs to see what is happening there? INFO | 20150611-192909.941 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | TcpConnection.cxx:72 | Connection closed by remote CONN: 0049B2A0 624 [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=624 ] DEBUG | 20150611-192909.954 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | Connection.cxx:392 | Closing connection bytesRead=-1 DEBUG | 20150611-192909.960 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | ConnectionBase.cxx:114 | ConnectionBase::~ConnectionBase 0049B2A0 Scott On Thu, Jun 11, 2015 at 6:48 PM, Julio Cesar Esteves Cabezas <jcabezas@xxxxxxxxxxxxx> wrote: Hi, I changed the outbound URI to both: sip:172.28.120.10:10060;transport=WS sip:172.28.120.10:10060;transport=ws The result for both was the same, now the REGISTER is sent to 172.28.120.10:10060, but with TCP transport, not WS. As a result, the repro ACKnowledges the new TCP connection but immediately FINalizes it, certainly because it's not WS. Below the corresponding log, with level = STACK. Many Thanks. BEGIN OF LOG SNIPPET -------------------------- INFO | 20150611-192906.004 | | RESIP:DNS | 7580 | aresdns.cxx:358 | DNS initialization: found 1 name servers INFO | 20150611-192906.011 | | RESIP:DNS | 7580 | aresdns.cxx:369 | name server: 172.28.40.40 DEBUG | 20150611-192909.075 | EasyUA SIP client | RESIP:TRANSPORT | 7580 | ConnectionBase.cxx:71 | ConnectionBase::ConnectionBase, who: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowK ey=0 ] 00480378 DEBUG | 20150611-192909.090 | EasyUA SIP client | RESIP:TRANSPORT | 7580 | ConnectionBase.cxx:84 | No compression library available: 00480378 INFO | 20150611-192909.097 | EasyUA SIP client | RESIP:TRANSPORT | 7580 | Connection.cxx:38 | Connection::Connection: new connection created to who: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspe cified mFlowKey=0 ] DEBUG | 20150611-192909.109 | EasyUA SIP client | RESIP:TRANSPORT | 7580 | ConnectionManager.cxx:34 | ConnectionManager::ConnectionManager() called DEBUG | 20150611-192909.117 | EasyUA SIP client | RESIP:TRANSPORT | 7580 | InternalTransport.cxx:115 | Creating fd=532 V4/TCP DEBUG | 20150611-192909.123 | EasyUA SIP client | RESIP:TRANSPORT | 7580 | InternalTransport.cxx:123 | Binding to 172.28.60.1 INFO | 20150611-192909.131 | EasyUA SIP client | RESIP:TRANSPORT | 7580 | WsTransport.cxx:35 | Creating WS transport host=172.28.60.1 port=5870 ipv4=1 DEBUG | 20150611-192909.141 | EasyUA SIP client | RESIP | 7580 | SipStack.cxx:479 | Adding domain alias: 172.28.60.1:5870 DEBUG | 20150611-192909.147 | EasyUA SIP client | RESIP:TRANSPORT | 7580 | TransportSelector.cxx:238 | Adding transport: [ V4 172.28.60.1:5870 WS target domain=unspecified mFlowKey=0 ] DEBUG | 20150611-192909.158 | EasyUA SIP client | RESIP:DUM | 7580 | UserProfile.cxx:143 | Adding credential: realm=np user=9005 STACK | 20150611-192909.424 | EasyUA SIP client | RESIP:DUM | 7580 | Handled.cxx:16 | &&&&&& Handled::Handled 1 this(00483890) 0047E5D8 DEBUG | 20150611-192909.434 | EasyUA SIP client | RESIP:DUM | 7580 | BaseCreator.cxx:148 | BaseCreator::makeInitialRequest: 00486770 DEBUG | 20150611-192909.443 | EasyUA SIP client | RESIP:DUM | 7580 | RegistrationCreator.cxx:25 | RegistrationCreator::RegistrationCreator: 00486770 DEBUG | 20150611-192909.451 | EasyUA SIP client | RESIP:DUM | 7580 | DialogSet.cxx:52 | ************* Created DialogSet(UAC) -- muTN19aL6ZRd2vmn01Q12Q..-5322ca2d************* STACK | 20150611-192909.460 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:522 | ************* Adding DialogSet ***************: muTN19aL6ZRd2vmn01Q12Q..-5322ca2d STACK | 20150611-192909.469 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:525 | DialogSetMap: [muTN19aL6ZRd2vmn01Q12Q..-5322ca2d -> state=0] STACK | 20150611-192909.478 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:2270 | Looking for dialogSet: muTN19aL6ZRd2vmn01Q12Q..-5322ca2d in map: STACK | 20150611-192909.486 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:2271 | DialogSetMap: [muTN19aL6ZRd2vmn01Q12Q..-5322ca2d -> state=0] DEBUG | 20150611-192909.494 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:983 | SEND: REGISTER sip:np SIP/2.0 Via: SIP/2.0/ ;branch=z9hG4bK-524287-1---d638452e5c3e7324;rport Max-Forwards: 70 Contact: <sip:9005>;+sip.instance="<urn:uuid:B6BBD898-F7B1-4C37-3C16-1F97A073837F>";methods="INVITE,ACK,CANCEL,OPTIONS,BYE,NOTIFY,SUBSCRIBE,INFO,MESSAGE" To: <sip:9005@np> From: <sip:9005@np>;tag=5322ca2d Call-ID: muTN19aL6ZRd2vmn01Q12Q.. CSeq: 1 REGISTER Expires: 600 Accept-Language: en Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, NOTIFY, SUBSCRIBE, INFO, MESSAGE Supported: timer User-Agent: Inovax EasyUA 1.0 Content-Length: 0 STACK | 20150611-192909.529 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:2270 | Looking for dialogSet: muTN19aL6ZRd2vmn01Q12Q..-5322ca2d in map: STACK | 20150611-192909.538 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:2271 | DialogSetMap: [muTN19aL6ZRd2vmn01Q12Q..-5322ca2d -> state=0] DEBUG | 20150611-192909.548 | EasyUA SIP client | RESIP:DUM | 7580 | DialogId.cxx:50 | DialogId::DialogId: muTN19aL6ZRd2vmn01Q12Q..-5322ca2d- STACK | 20150611-192909.557 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:2270 | Looking for dialogSet: muTN19aL6ZRd2vmn01Q12Q..-5322ca2d in map: STACK | 20150611-192909.567 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:2271 | DialogSetMap: [muTN19aL6ZRd2vmn01Q12Q..-5322ca2d -> state=0] STACK | 20150611-192909.576 | EasyUA SIP client | RESIP:DUM | 7580 | DialogSet.cxx:931 | findDialog: muTN19aL6ZRd2vmn01Q12Q..-5322ca2d- in [] DEBUG | 20150611-192909.584 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:1110 | Using outbound proxy: sip:172.28.120.10:10060;transport=ws;lr -> SipReq: REGISTER np tid=d638452e5c3e 7324 cseq=1 REGISTER contact=9005 / 1 from(tu) DEBUG | 20150611-192909.598 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:1124 | Sending to express outbound w/o flow tuple DEBUG | 20150611-192909.606 | EasyUA SIP client | RESIP | 7580 | SipStack.cxx:611 | SEND: SipReq: REGISTER np tid=d638452e5c3e7324 cseq=1 REGISTER contact=9005 / 1 from(tu) STACK | 20150611-192909.616 | EasyUA SIP client | RESIP:TRANSACTION | 14156 | TransactionState.cxx:168 | No matching transaction for SipReq: REGISTER np tid=d638452e5c3e7324 cseq=1 REGISTER contact=90 05 / 1 from(tu) STACK | 20150611-192909.628 | EasyUA SIP client | RESIP:TRANSACTION | 14156 | TransactionState.cxx:68 | Creating new TransactionState: tid=d638452e5c3e7324 [ ClientNonInvite/Trying reliable target=[ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ]] STACK | 20150611-192909.643 | EasyUA SIP client | RESIP:TRANSACTION | 14156 | TransactionState.cxx:970 | TransactionState::processClientNonInvite: SipReq: REGISTER np tid=d638452e5c3e7324 cseq=1 REGIS TER contact=9005 / 1 from(tu) DEBUG | 20150611-192909.658 | EasyUA SIP client | RESIP:TRANSACTION | 14156 | TimerQueue.cxx:50 | Adding timer: Timer F tid=d638452e5c3e7324 ms=32000 STACK | 20150611-192909.666 | EasyUA SIP client | RESIP:TRANSACTION | 14156 | TransactionState.cxx:2511 | sendToWire with no dns result: tid=d638452e5c3e7324 [ ClientNonInvite/Trying reliable target=[ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ]] DEBUG | 20150611-192909.684 | EasyUA SIP client | RESIP:TRANSPORT | 14156 | TransportSelector.cxx:463 | Looking up dns entries (from route) for sip:172.28.120.10:10060;transport=ws;lr DEBUG | 20150611-192909.694 | EasyUA SIP client | RESIP:DNS | 14156 | DnsResult.cxx:249 | DnsResult::lookup sip:172.28.120.10:10060;transport=ws;lr DEBUG | 20150611-192909.702 | EasyUA SIP client | RESIP:DNS | 14156 | DnsResult.cxx:298 | Found immediate result: [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=0 ] STACK | 20150611-192909.713 | EasyUA SIP client | RESIP:TRANSACTION | 14156 | TransactionState.cxx:723 | Found matching transaction for Client DnsResultMessage: tid=d638452e5c3e7324 -> tid=d638452e5c3e 7324 [ ClientNonInvite/Trying reliable target=[ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ]] STACK | 20150611-192909.732 | EasyUA SIP client | RESIP:TRANSACTION | 14156 | TransactionState.cxx:970 | TransactionState::processClientNonInvite: Client DnsResultMessage: tid=d638452e5c3e7324 STACK | 20150611-192909.743 | EasyUA SIP client | RESIP:TRANSACTION | 14156 | TransactionState.cxx:2350 | tid=d638452e5c3e7324 [ ClientNonInvite/Trying reliable target=[ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ]] got DNS result: 172.28.120.10 --> [[ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=0 ]] STACK | 20150611-192909.762 | EasyUA SIP client | RESIP:DNS | 14156 | DnsResult.cxx:228 | Returning next dns entry: [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=0 ] DEBUG | 20150611-192909.772 | EasyUA SIP client | RESIP:TRANSPORT | 14156 | TransportSelector.cxx:1178 | Transmitting to [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=0 ] tlsDomain= via [ V4 172.28.60.1:5870 WS target domain=unspecified mFlowKey=0 ] REGISTER sip:np SIP/2.0 Via: SIP/2.0/WS 172.28.60.1:5870;branch=z9hG4bK-524287-1---d638452e5c3e7324;rport Max-Forwards: 70 Route: <sip:172.28.120.10:10060;transport=ws;lr> Contact: <sip:9005@172.28.60.1:5870;transport=ws>;+sip.instance="<urn:uuid:B6BBD898-F7B1-4C37-3C16-1F97A073837F>";methods="INVITE,ACK,CANCEL,OPTIONS,BYE,NOTIFY,SUBSCRIBE,INFO,MESSAGE" To: <sip:9005@np> From: <sip:9005@np>;tag=5322ca2d Call-ID: muTN19aL6ZRd2vmn01Q12Q.. CSeq: 1 REGISTER Expires: 600 Accept-Language: en Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, NOTIFY, SUBSCRIBE, INFO, MESSAGE Supported: timer User-Agent: Inovax EasyUA 1.0 Content-Length: 0 sigcomp id= DEBUG | 20150611-192909.829 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | TcpBaseTransport.cxx:283 | Processing write for [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=0 ] DEBUG | 20150611-192909.839 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | ConnectionManager.cxx:93 | Could not find a connection for [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=0 ] DEBUG | 20150611-192909.852 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | InternalTransport.cxx:115 | Creating fd=624 V4/TCP DEBUG | 20150611-192909.858 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | TcpBaseTransport.cxx:223 | Opening new connection to [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=0 ] DEBUG | 20150611-192909.869 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | ConnectionBase.cxx:71 | ConnectionBase::ConnectionBase, who: [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey =0 ] 0049B2A0 DEBUG | 20150611-192909.881 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | ConnectionBase.cxx:84 | No compression library available: 0049B2A0 INFO | 20150611-192909.888 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | Connection.cxx:38 | Connection::Connection: new connection created to who: [ V4 172.28.120.10:10060 WS target domain=172.28.12 0.10 mFlowKey=624 ] DEBUG | 20150611-192909.901 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | TcpConnection.cxx:18 | Creating TCP connection [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=0 ] on 624 DEBUG | 20150611-192909.911 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | WsConnection.cxx:17 | Creating WS connection [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=0 ] on 624 DEBUG | 20150611-192909.927 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | ConnectionBase.cxx:1011 | Creating buffer for CONN_BASE: 0049B2A0 [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFl owKey=624 ] INFO | 20150611-192909.941 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | TcpConnection.cxx:72 | Connection closed by remote CONN: 0049B2A0 624 [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=624 ] DEBUG | 20150611-192909.954 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | Connection.cxx:392 | Closing connection bytesRead=-1 DEBUG | 20150611-192909.960 | EasyUA SIP client | RESIP:TRANSPORT | 11564 | ConnectionBase.cxx:114 | ConnectionBase::~ConnectionBase 0049B2A0 INFO | 20150611-192909.968 | EasyUA SIP client | RESIP:TRANSACTION | 14156 | TuSelector.cxx:102 | Sending ConnectionTerminated [ V4 172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=624 ] to TUs DEBUG | 20150611-192909.979 | EasyUA SIP client | RESIP:DUM | 7580 | DialogUsageManager.cxx:1451 | connection terminated message END OF LOG SNIPPET ---------------------------- From: slgodin@xxxxxxxxx [mailto:slgodin@xxxxxxxxx] On Behalf Of Scott Godin Sent: Thursday, June 11, 2015 6:54 PM To: Julio Cabezas Cc: resiprocate-users@xxxxxxxxxxxxxxx Subject: Re: [reSIProcate-users] Use of Websockets by User Agent The WS logs you show seem to be a subsequent error, so it's difficult to understand what is happening to get it black listed in the first place. DnsResult.cxx:473 | Numeric result, but this result is currently blacklisted: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspec ified mFlowKey=0 ] You could try the following outbound uri in order to specify WS use: sip:172.28.120.10:10060;transport=WS If it's still not working, then post a log snippet of the initial connection attempt when starting your application. You may also want to up the log level STACK to get more info. Scott On Thu, Jun 11, 2015 at 5:15 PM, Julio Cesar Esteves Cabezas <jcabezas@xxxxxxxxxxxxx> wrote: Hi, I want an User Agent based on reSIProcate V.1.9.8 to use Websockets (WS not WSS) as transport. In the TCP case, registration and calls work OK. In the WS case, no packets are sent to the repro still in registration phase. I am using as SIP-proxy a repro built from V.1.9.8, that is listening to UDP/TCP on port 5060 and WS on port 10060 in 172.28.120.10. All inside my LAN. It's running on a Windows Server box. My UA runs on my WIndows station with IP = 172.28.60.1. When I use TCP I do: mStack->addTransport(resip::TCP, 5870, resip::V4, resip::StunEnabled, "172.28.60.1", ""); mMasterProfile->setOutboundProxy(resip::Uri("sip:172.28.120.10:5060")); When I use WS I do: mStack->addTransport(resip::WS, 5870, resip::V4, resip::StunEnabled, "172.28.60.1", ""); mMasterProfile->setOutboundProxy(resip::Uri("sip:172.28.120.10:10060")); Below Log snippets when trying registration using WS and using TCP. What could be the next step ? Do I need necessarily to set up DNS entries for using WS as transport ? Why that comparing to UDP/TCP ? Thanks and Best regards. Julio Cabezas. --- Log in Debug Level when using WS --- DEBUG | 20150611-173932.579 | EasyUA SIP client | RESIP:DUM | 10916 | DialogId.cxx:50 | DialogId::DialogId: 3Af7A45siXtdIw0PRPLwJA..-971dee61- DEBUG | 20150611-173932.588 | EasyUA SIP client | RESIP:DUM | 10916 | DialogUsageManager.cxx:1110 | Using outbound proxy: sip:172.28.120.10:10060;lr -> SipReq: REGISTER np tid=7a4b10188027d038 cseq=1 REGISTER contact=9005 / 1 from(tu) DEBUG | 20150611-173932.603 | EasyUA SIP client | RESIP:DUM | 10916 | DialogUsageManager.cxx:1124 | Sending to express outbound w/o flow tuple DEBUG | 20150611-173932.613 | EasyUA SIP client | RESIP | 10916 | SipStack.cxx:611 | SEND: SipReq: REGISTER np tid=7a4b10188027d038 cseq=1 REGISTER contact=9005 / 1 from(tu) DEBUG | 20150611-173932.624 | EasyUA SIP client | RESIP:TRANSACTION | 11468 | TimerQueue.cxx:50 | Adding timer: Timer F tid=7a4b10188027d038 ms=32000 DEBUG | 20150611-173932.633 | EasyUA SIP client | RESIP:TRANSPORT | 11468 | TransportSelector.cxx:463 | Looking up dns entries (from route) for sip:172.28.120.10:10060;lr DEBUG | 20150611-173932.644 | EasyUA SIP client | RESIP:DNS | 11468 | DnsResult.cxx:249 | DnsResult::lookup sip:172.28.120.10:10060;lr DEBUG | 20150611-173932.652 | EasyUA SIP client | RESIP:DNS | 11468 | DnsResult.cxx:473 | Numeric result, but this result is currently blacklisted: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspec ified mFlowKey=0 ] DEBUG | 20150611-173932.666 | EasyUA SIP client | RESIP | 11468 | Helper.cxx:374 | Helper::makeResponse(SipReq: REGISTER np tid=7a4b10188027d038 cseq=1 REGISTER contact=9005 / 1 from(tu) code=503 reas on= INFO | 20150611-173932.680 | EasyUA SIP client | RESIP:TRANSACTION | 11468 | TransactionState.cxx:2105 | Ran out of dns entries for 172.28.120.10. Send 503 DEBUG | 20150611-173932.690 | EasyUA SIP client | RESIP:TRANSACTION | 11468 | TuSelector.cxx:70 | Send to TU: TU: DialogUsageManager size=0 SIP/2.0 503 No DNS results Via: SIP/2.0/ ;branch=z9hG4bK-524287-1---7a4b10188027d038;rport To: <sip:9005@np>;tag=711bfa61 From: <sip:9005@np>;tag=971dee61 Call-ID: 3Af7A45siXtdIw0PRPLwJA.. CSeq: 1 REGISTER Warning: 399 DSV-1.pdi.inovax.local "No other DNS entries to try (0,0)" Content-Length: 0 --- Log in Debug Level when using TCP --- DEBUG | 20150611-174811.283 | EasyUA SIP client | RESIP:DUM | 13436 | DialogId.cxx:50 | DialogId::DialogId: iooUU7PpuT3nUgz_8_vMig..-7821043c- DEBUG | 20150611-174811.291 | EasyUA SIP client | RESIP:DUM | 13436 | DialogUsageManager.cxx:1110 | Using outbound proxy: sip:172.28.120.10:5060;lr -> SipReq: REGISTER np tid=a0542623bb302f02 cseq=1 R EGISTER contact=9005 / 1 from(tu) DEBUG | 20150611-174811.305 | EasyUA SIP client | RESIP:DUM | 13436 | DialogUsageManager.cxx:1124 | Sending to express outbound w/o flow tuple DEBUG | 20150611-174811.312 | EasyUA SIP client | RESIP | 13436 | SipStack.cxx:611 | SEND: SipReq: REGISTER np tid=a0542623bb302f02 cseq=1 REGISTER contact=9005 / 1 from(tu) DEBUG | 20150611-174811.322 | EasyUA SIP client | RESIP:TRANSACTION | 1884 | TimerQueue.cxx:50 | Adding timer: Timer F tid=a0542623bb302f02 ms=32000 DEBUG | 20150611-174811.330 | EasyUA SIP client | RESIP:TRANSPORT | 1884 | TransportSelector.cxx:463 | Looking up dns entries (from route) for sip:172.28.120.10:5060;lr DEBUG | 20150611-174811.339 | EasyUA SIP client | RESIP:DNS | 1884 | DnsResult.cxx:249 | DnsResult::lookup sip:172.28.120.10:5060;lr DEBUG | 20150611-174811.346 | EasyUA SIP client | RESIP:DNS | 1884 | DnsResult.cxx:466 | Numeric result so return immediately: [ V4 172.28.120.10:5060 TCP target domain=172.28.120.10 mFlowKey=0 ] DEBUG | 20150611-174811.358 | EasyUA SIP client | RESIP:TRANSPORT | 1884 | TransportSelector.cxx:1178 | Transmitting to [ V4 172.28.120.10:5060 TCP target domain=172.28.120.10 mFlowKey=0 ] tlsDomain= v ia [ V4 172.28.60.1:5870 TCP target domain=unspecified mFlowKey=0 ] ------------------------------------------ _______________________________________________ resiprocate-users mailing list resiprocate-users@xxxxxxxxxxxxxxx List Archive: http://list.resiprocate.org/archive/resiprocate-users/ _______________________________________________ resiprocate-users mailing list resiprocate-users@xxxxxxxxxxxxxxx List Archive: http://list.resiprocate.org/archive/resiprocate-users/ |