drachtio / drachtio-siprec-recording-server

SIPREC recording server based on drachtio and rtpengine
MIT License
81 stars 31 forks source link

No SDP in 200 OK to Freeswitch #32

Closed ajay-sabat closed 4 years ago

ajay-sabat commented 4 years ago

Hi Dave,

We see that Drachtio SIP server is sending 200 Ok response with no SDP to Freeswitch. It was working fine. Could you please check the logs and help us. I have also attached a file with logs from both Drachtio server and the siprec-recording-server application.

{"level":30,"time":1586545088962,"msg":"received SIPREC invite: sip:SIPREC-SRS@192.168.1.3:5060","pid":8,"hostname":"siprec-proxy-application-5dfbfd9686-d6v9m","callid":"325322106_16777616_26054674@209.119.33.6","v":1} {"level":50,"time":1586545089241,"msg":"Error connecting incoming SIPREC call to freeswitch","pid":8,"hostname":"siprec-proxy-application-5dfbfd9686-d6v9m","callid":"325322106_16777616_26054674@209.119.33.6","type":"Error","stack":"SipError: Sip non-success response: 500\n at Request.req.on (/usr/src/app/node_modules/drachtio-srf/lib/srf.js:433:27)\n at Request.emit (events.js:198:13)\n at DrachtioAgent._onMsg (/usr/src/app/node_modules/drachtio-srf/lib/drachtio-agent.js:655:22)\n at WireProtocol.emit (events.js:198:13)\n at WireProtocol.processMessageBuffer (/usr/src/app/node_modules/drachtio-srf/lib/wire-protocol.js:226:12)\n at WireProtocol._onData (/usr/src/app/node_modules/drachtio-srf/lib/wire-protocol.js:260:14)\n at Socket.emit (events.js:198:13)\n at addChunk (_stream_readable.js:288:12)\n at readableAddChunk (_stream_readable.js:265:13)\n at Socket.Readable.push (_stream_readable.js:224:10)","name":"SipError","status":500,"reason":"Internal Server Error","res":{"msg":{"headers":{"via":"SIP/2.0/UDP 34.67.229.53;rport=5060;branch=z9hG4bKF9KF9DQe3X40H","max-forwards":"70","from":"sip:not-used@34.67.229.53:5060;tag=vF3ZF1FUcteep","to":"sip:3661@104.154.187.248;tag=e33aaa087H7eQ","call-id":"0f60a48c-f600-1238-4699-4201c0a80103","cseq":"18718752 INVITE","user-agent":"FreeSWITCH-mod_sofia/1.6.14~64bit","accept":"application/sdp","allow":"INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY","supported":"timer, path, replaces","allow-events":"talk, hold, conference, refer","reason":"Q.850;cause=41;text=\"NORMAL_TEMPORARY_FAILURE\"","content-length":"0","remote-party-id":"\"3661\" sip:3661@104.154.187.248;party=calling;privacy=off;screen=no"},"body":"","payload":[{"content":""}],"version":"2.0","status":500,"reason":"Internal Server Error","raw":"SIP/2.0 500 Internal Server Error\r\nVia: SIP/2.0/UDP 34.67.229.53;rport=5060;branch=z9hG4bKF9KF9DQe3X40H\r\nMax-Forwards: 70\r\nFrom: sip:not-used@34.67.229.53:5060;tag=vF3ZF1FUcteep\r\nTo: sip:3661@104.154.187.248;tag=e33aaa087H7eQ\r\nCall-ID: 0f60a48c-f600-1238-4699-4201c0a80103\r\nCSeq: 18718752 INVITE\r\nUser-Agent: FreeSWITCH-mod_sofia/1.6.14~64bit\r\nAccept: application/sdp\r\nAllow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY\r\nSupported: timer, path, replaces\r\nAllow-Events: talk, hold, conference, refer\r\nReason: Q.850;cause=41;text=\"NORMAL_TEMPORARY_FAILURE\"\r\nContent-Length: 0\r\nRemote-Party-ID: \"3661\" sip:3661@104.154.187.248;party=calling;privacy=off;screen=no\r\n\r\n"},"source":"network","source_address":"104.154.187.248","source_port":5060,"protocol":"udp","stackTime":"18:58:09.239034","stackDialogId":"0f60a48c-f600-1238-4699-4201c0a80103;from-tag=vF3ZF1FUcteep","stackTxnId":"c6e8b431-e594-4abc-95ad-993b9e4be80c"},"v":1} (node:8) UnhandledPromiseRejectionWarning: SipError: Sip non-success response: 500 at Request.req.on (/usr/src/app/node_modules/drachtio-srf/lib/srf.js:433:27) at Request.emit (events.js:198:13) at DrachtioAgent._onMsg (/usr/src/app/node_modules/drachtio-srf/lib/drachtio-agent.js:655:22) at WireProtocol.emit (events.js:198:13) at WireProtocol.processMessageBuffer (/usr/src/app/node_modules/drachtio-srf/lib/wire-protocol.js:226:12) at WireProtocol._onData (/usr/src/app/node_modules/drachtio-srf/lib/wire-protocol.js:260:14) at Socket.emit (events.js:198:13) at addChunk (_stream_readable.js:288:12) at readableAddChunk (_stream_readable.js:265:13) at Socket.Readable.push (_stream_readable.js:224:10) (node:8) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:8) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

drachtio_siprec_call_failure_200_no_sdp_test2.txt

ajay-sabat commented 4 years ago

It started working back again. We changed couple of things, so not sure. But I think the reason of the failure was two siprec-recording-server applications were pointing to the same Drachtio server. I am curious if that would cause the 200 Ok with no SDP? I am closing this anyway. Thanks.

davehorton commented 4 years ago

its very strange. the app log reports that it got a 500 response from the freeswitch, but we don't see that in the drachtio log. I think for one thing, I need to update this repo to use the latest version of drachtio-srf, which may help debug

ajay-sabat commented 4 years ago

Sorry for the confusion. But that's right. It received 500 response from Freewitch for the first INVITE and sent a 500 for the SIPREC Invite to the SBC. After receiving 200 with no SDP from Drachtio for the second INVITE, Freeswitch send BYE for the second INVITE (outbound call) and 500 response for the first INVITE (inbound call). Here is the complete log from Drachtio server.

200_no_sdp_test2_drachtio.txt