drachtio / drachtio-siprec-recording-server

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

Issue Parsing SIPrec Invite message from Opensips to Drachito #79

Closed Pandi1981 closed 1 month ago

Pandi1981 commented 2 months ago

Hi Team,

 I am start connecting through opensips 3.4, getting following error in Drachito SIPrec-recording server.

"msg":"Error connecting incoming SIPREC call to freeswitch" Please let us what we are doing wrong!!!

Please find the log for your refernce.

drachtio:siprec-recording-server { drachtio:siprec-recording-server req: <ref *1> Request { drachtio:siprec-recording-server _events: [Object: null prototype] {}, drachtio:siprec-recording-server _eventsCount: 0, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server msg: SipMessage { drachtio:siprec-recording-server headers: [Object], drachtio:siprec-recording-server raw: 'INVITE sip:10.x.x.134:5090;transport=udp SIP/2.0\r\n' + drachtio:siprec-recording-server 'Via: SIP/2.0/UDP 10.x.x.112:5060;branch=z9hG4bK60c7.d8778186.0;rport=5060\r\n' + drachtio:siprec-recording-server 'To: <sip:10.x.x.134:5090;transport=udp>\r\n' + drachtio:siprec-recording-server 'From: <sip:10.x.x.134:5090;transport=udp>;tag=5e450fe554cafa44a1b261d439e7c443-ce21\r\n' + drachtio:siprec-recording-server 'CSeq: 2 INVITE\r\n' + drachtio:siprec-recording-server 'Call-ID: B2B.92.5795484.1718895857.1242373537\r\n' + drachtio:siprec-recording-server 'Max-Forwards: 70\r\n' + drachtio:siprec-recording-server 'Content-Length: 1935\r\n' + drachtio:siprec-recording-server 'User-Agent: OpenSIPS (3.4.5 (x86_64/linux))\r\n' + drachtio:siprec-recording-server 'Require: siprec\r\n' + drachtio:siprec-recording-server 'Content-Type: multipart/mixed;boundary=OSS-unique-boundary-42\r\n' + drachtio:siprec-recording-server 'Contact: ;+sip.src\r\n' + drachtio:siprec-recording-server '\r\n' + drachtio:siprec-recording-server '--OSS-unique-boundary-42\r\n' + drachtio:siprec-recording-server 'Content-Type: application/sdp\r\n' + drachtio:siprec-recording-server '\r\n' + drachtio:siprec-recording-server 'v=0\r\n' + drachtio:siprec-recording-server 'o=- 7382601495339934508 7382601495339934508 IN IP4 10.x.x.112\r\n' + drachtio:siprec-recording-server 's=rtpengine-10-5-3-5-1\r\n' + drachtio:siprec-recording-server 't=0 0\r\n' + drachtio:siprec-recording-server 'm=audio 10018 RTP/AVP 8 101\r\n' + drachtio:siprec-recording-server 'c=IN IP4 10.x.x.112\r\n' + drachtio:siprec-recording-server 'a=label:1\r\n' + drachtio:siprec-recording-server 'a=rtpmap:8 PCMA/8000\r\n' + drachtio:siprec-recording-server 'a=rtpmap:101 telephone-event/8000\r\n' + drachtio:siprec-recording-server 'a=fmtp:101 0-15\r\n' + drachtio:siprec-recording-server 'a=sendonly\r\n' + drachtio:siprec-recording-server 'a=rtcp:10019\r\n' + drachtio:siprec-recording-server 'a=ptime:20\r\n' + drachtio:siprec-recording-server 'm=audio 10034 RTP/AVP 8 101\r\n' + drachtio:siprec-recording-server 'c=IN IP4 10.x.x.112\r\n' + drachtio:siprec-recording-server 'a=label:0\r\n' + drachtio:siprec-recording-server 'a=rtpmap:8 PCMA/8000\r\n' + drachtio:siprec-recording-server 'a=rtpmap:101 telephone-event/8000\r\n' + drachtio:siprec-recording-server 'a=fmtp:101 0-15\r\n' + drachtio:siprec-recording-server 'a=sendonly\r\n' + drachtio:siprec-recording-server 'a=rtcp:10035\r\n' + drachtio:siprec-recording-server 'a=ptime:20\r\n' + drachtio:siprec-recording-server '\r\n' + drachtio:siprec-recording-server '--OSS-unique-boundary-42\r\n' + drachtio:siprec-recording-server 'Content-Type: application/rs-metadata+xml\r\n' + drachtio:siprec-recording-server 'Content-Disposition: recording-session\r\n' + drachtio:siprec-recording-server '\r\n' + drachtio:siprec-recording-server '<?xml version="1.0" encoding="UTF-8"?>\r\n' + drachtio:siprec-recording-server "\r\n" + drachtio:siprec-recording-server '\tcomplete\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\tsipSessionID>cakgrcvqrwfheid@pandi-Lenovo-V14</sipSessionID\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t\r\n' + drachtio:siprec-recording-server '\t\t\t1009\r\n' + drachtio:siprec-recording-server '\t\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t2024-06-20T15:04:17+0000\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t2024-06-20T15:04:17+0000\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t2024-06-20T15:04:17+0000\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\r\n' + drachtio:siprec-recording-server '--OSS-unique-boundary-42--\r\n', drachtio:siprec-recording-server body: '--OSS-unique-boundary-42\r\n' + drachtio:siprec-recording-server 'Content-Type: application/sdp\r\n' + drachtio:siprec-recording-server '\r\n' + drachtio:siprec-recording-server 'v=0\r\n' + drachtio:siprec-recording-server 'o=- 7382601495339934508 7382601495339934508 IN IP4 10.x.x.112\r\n' + drachtio:siprec-recording-server 's=rtpengine-10-5-3-5-1\r\n' + drachtio:siprec-recording-server 't=0 0\r\n' + drachtio:siprec-recording-server 'm=audio 10018 RTP/AVP 8 101\r\n' + drachtio:siprec-recording-server 'c=IN IP4 10.x.x.112\r\n' + drachtio:siprec-recording-server 'a=label:1\r\n' + drachtio:siprec-recording-server 'a=rtpmap:8 PCMA/8000\r\n' + drachtio:siprec-recording-server 'a=rtpmap:101 telephone-event/8000\r\n' + drachtio:siprec-recording-server 'a=fmtp:101 0-15\r\n' + drachtio:siprec-recording-server 'a=sendonly\r\n' + drachtio:siprec-recording-server 'a=rtcp:10019\r\n' + drachtio:siprec-recording-server 'a=ptime:20\r\n' + drachtio:siprec-recording-server 'm=audio 10034 RTP/AVP 8 101\r\n' + drachtio:siprec-recording-server 'c=IN IP4 10.x.x.112\r\n' + drachtio:siprec-recording-server 'a=label:0\r\n' + drachtio:siprec-recording-server 'a=rtpmap:8 PCMA/8000\r\n' + drachtio:siprec-recording-server 'a=rtpmap:101 telephone-event/8000\r\n' + drachtio:siprec-recording-server 'a=fmtp:101 0-15\r\n' + drachtio:siprec-recording-server 'a=sendonly\r\n' + drachtio:siprec-recording-server 'a=rtcp:10035\r\n' + drachtio:siprec-recording-server 'a=ptime:20\r\n' + drachtio:siprec-recording-server '\r\n' + drachtio:siprec-recording-server '--OSS-unique-boundary-42\r\n' + drachtio:siprec-recording-server 'Content-Type: application/rs-metadata+xml\r\n' + drachtio:siprec-recording-server 'Content-Disposition: recording-session\r\n' + drachtio:siprec-recording-server '\r\n' + drachtio:siprec-recording-server '<?xml version="1.0" encoding="UTF-8"?>\r\n' + drachtio:siprec-recording-server "\r\n" + drachtio:siprec-recording-server '\tcomplete\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\tsipSessionID>cakgrcvqrwfheid@pandi-Lenovo-V14</sipSessionID\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t\r\n' + drachtio:siprec-recording-server '\t\t\t1009\r\n' + drachtio:siprec-recording-server '\t\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t2024-06-20T15:04:17+0000\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t2024-06-20T15:04:17+0000\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t2024-06-20T15:04:17+0000\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\r\n' + drachtio:siprec-recording-server '--OSS-unique-boundary-42--\r\n', drachtio:siprec-recording-server method: 'INVITE', drachtio:siprec-recording-server version: '2.0', drachtio:siprec-recording-server uri: 'sip:10.x.x.134:5090;transport=udp', drachtio:siprec-recording-server payload: [Array] drachtio:siprec-recording-server }, drachtio:siprec-recording-server source: 'network', drachtio:siprec-recording-server source_address: '10.x.x.112', drachtio:siprec-recording-server source_port: 5060, drachtio:siprec-recording-server protocol: 'udp', drachtio:siprec-recording-server stackTime: '15:04:18.092809', drachtio:siprec-recording-server stackTxnId: '7d4eabfb-37ad-47fc-8ada-9e4cc64895a7', drachtio:siprec-recording-server stackDialogId: '', drachtio:siprec-recording-server server: { drachtio:siprec-recording-server address: '127.0.0.1', drachtio:siprec-recording-server hostport: 'udp/[::1]:5090,udp/127.0.0.1:5090,udp/[2a01:4f9:c010:d488::1]:5090,udp/10.x.x.134:5090' drachtio:siprec-recording-server }, drachtio:siprec-recording-server receivedOn: '10.x.x.134:5090', drachtio:siprec-recording-server _res: Response { drachtio:siprec-recording-server _events: [Object: null prototype] {}, drachtio:siprec-recording-server _eventsCount: 0, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server _agent: [DrachtioAgent], drachtio:siprec-recording-server msg: [SipMessage], drachtio:siprec-recording-server finished: false, drachtio:siprec-recording-server _req: [Circular 1], drachtio:siprec-recording-server socket: [Socket], drachtio:siprec-recording-server srf: [Srf], drachtio:siprec-recording-server [Symbol(kCapture)]: false drachtio:siprec-recording-server }, drachtio:siprec-recording-server _agent: DrachtioAgent { drachtio:siprec-recording-server _events: [Object: null prototype], drachtio:siprec-recording-server _eventsCount: 5, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server puntUpTheMiddleware: [Function], drachtio:siprec-recording-server params: Map(0) {}, drachtio:siprec-recording-server mapServer: [Map], drachtio:siprec-recording-server verbs: [Map], drachtio:siprec-recording-server cdrHandlers: Map(0) {}, drachtio:siprec-recording-server pendingSipAuthTxnIdUpdate: Map(0) {}, drachtio:siprec-recording-server _listen: false, drachtio:siprec-recording-server secret: 'cymru', drachtio:siprec-recording-server tags: [], drachtio:siprec-recording-server wp: [WireProtocol], drachtio:siprec-recording-server [Symbol(kCapture)]: false drachtio:siprec-recording-server }, drachtio:siprec-recording-server socket: Socket { drachtio:siprec-recording-server connecting: false, drachtio:siprec-recording-server _hadError: false, drachtio:siprec-recording-server _parent: null, drachtio:siprec-recording-server _host: null, drachtio:siprec-recording-server _closeAfterHandlingError: false, drachtio:siprec-recording-server _readableState: [ReadableState], drachtio:siprec-recording-server _events: [Object: null prototype], drachtio:siprec-recording-server _eventsCount: 5, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server _writableState: [WritableState], drachtio:siprec-recording-server allowHalfOpen: false, drachtio:siprec-recording-server _sockname: [Object], drachtio:siprec-recording-server _pendingData: null, drachtio:siprec-recording-server _pendingEncoding: '', drachtio:siprec-recording-server server: null, drachtio:siprec-recording-server _server: null, drachtio:siprec-recording-server _peername: [Object], drachtio:siprec-recording-server [Symbol(async_id_symbol)]: 6, drachtio:siprec-recording-server [Symbol(kHandle)]: [TCP], drachtio:siprec-recording-server [Symbol(lastWriteQueueSize)]: 0, drachtio:siprec-recording-server [Symbol(timeout)]: null, drachtio:siprec-recording-server [Symbol(kBuffer)]: null, drachtio:siprec-recording-server [Symbol(kBufferCb)]: null, drachtio:siprec-recording-server [Symbol(kBufferGen)]: null, drachtio:siprec-recording-server [Symbol(kCapture)]: false, drachtio:siprec-recording-server [Symbol(kSetNoDelay)]: true, drachtio:siprec-recording-server [Symbol(kSetKeepAlive)]: true, drachtio:siprec-recording-server [Symbol(kSetKeepAliveInitialDelay)]: 0, drachtio:siprec-recording-server [Symbol(kBytesRead)]: 0, drachtio:siprec-recording-server [Symbol(kBytesWritten)]: 0 drachtio:siprec-recording-server }, drachtio:siprec-recording-server app: [Function: app] { drachtio:siprec-recording-server method: '', drachtio:siprec-recording-server _init: [Function (anonymous)], drachtio:siprec-recording-server connect: [Function (anonymous)], drachtio:siprec-recording-server listen: [Function (anonymous)], drachtio:siprec-recording-server endSession: [Function (anonymous)], drachtio:siprec-recording-server request: [Function (anonymous)], drachtio:siprec-recording-server set: [Function (anonymous)], drachtio:siprec-recording-server get: [Function (anonymous)], drachtio:siprec-recording-server use: [Function (anonymous)], drachtio:siprec-recording-server handle: [Function (anonymous)], drachtio:siprec-recording-server _events: [Object: null prototype], drachtio:siprec-recording-server _eventsCount: 5, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server setMaxListeners: [Function: setMaxListeners], drachtio:siprec-recording-server getMaxListeners: [Function: getMaxListeners], drachtio:siprec-recording-server emit: [Function: emit], drachtio:siprec-recording-server addListener: [Function: addListener], drachtio:siprec-recording-server on: [Function (anonymous)], drachtio:siprec-recording-server prependListener: [Function: prependListener], drachtio:siprec-recording-server once: [Function: once], drachtio:siprec-recording-server prependOnceListener: [Function: prependOnceListener], drachtio:siprec-recording-server removeListener: [Function: removeListener], drachtio:siprec-recording-server off: [Function: removeListener], drachtio:siprec-recording-server removeAllListeners: [Function: removeAllListeners], drachtio:siprec-recording-server listeners: [Function: listeners], drachtio:siprec-recording-server rawListeners: [Function: rawListeners], drachtio:siprec-recording-server listenerCount: [Function: listenerCount], drachtio:siprec-recording-server eventNames: [Function: eventNames], drachtio:siprec-recording-server stack: [Array], drachtio:siprec-recording-server params: [], drachtio:siprec-recording-server _cachedEvents: [], drachtio:siprec-recording-server routedMethods: [Object], drachtio:siprec-recording-server locals: [Object: null prototype], drachtio:siprec-recording-server invite: [Function: bound ], drachtio:siprec-recording-server bye: [Function: bound ], drachtio:siprec-recording-server register: [Function: bound ], drachtio:siprec-recording-server info: [Function: bound ], drachtio:siprec-recording-server subscribe: [Function: bound ], drachtio:siprec-recording-server options: [Function: bound ], drachtio:siprec-recording-server message: [Function: bound ], drachtio:siprec-recording-server notify: [Function: bound ], drachtio:siprec-recording-server cancel: [Function: bound ], drachtio:siprec-recording-server update: [Function: bound ], drachtio:siprec-recording-server prack: [Function: bound ], drachtio:siprec-recording-server ack: [Function: bound ], drachtio:siprec-recording-server refer: [Function: bound ], drachtio:siprec-recording-server publish: [Function: bound ], drachtio:siprec-recording-server disconnect: [Function (anonymous)], drachtio:siprec-recording-server close: [Function (anonymous)], drachtio:siprec-recording-server idle: [Getter], drachtio:siprec-recording-server client: [DrachtioAgent] drachtio:siprec-recording-server }, drachtio:siprec-recording-server srf: Srf { drachtio:siprec-recording-server _events: [Object: null prototype], drachtio:siprec-recording-server _eventsCount: 2, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server _dialogs: Map(0) {}, drachtio:siprec-recording-server _tags: [], drachtio:siprec-recording-server _app: [Function], drachtio:siprec-recording-server [Symbol(kCapture)]: false drachtio:siprec-recording-server }, drachtio:siprec-recording-server [Symbol(kCapture)]: false drachtio:siprec-recording-server }, drachtio:siprec-recording-server res: <ref 2> Response { drachtio:siprec-recording-server _events: [Object: null prototype] {}, drachtio:siprec-recording-server _eventsCount: 0, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server _agent: DrachtioAgent { drachtio:siprec-recording-server _events: [Object: null prototype], drachtio:siprec-recording-server _eventsCount: 5, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server puntUpTheMiddleware: [Function], drachtio:siprec-recording-server params: Map(0) {}, drachtio:siprec-recording-server mapServer: [Map], drachtio:siprec-recording-server verbs: [Map], drachtio:siprec-recording-server cdrHandlers: Map(0) {}, drachtio:siprec-recording-server pendingSipAuthTxnIdUpdate: Map(0) {}, drachtio:siprec-recording-server _listen: false, drachtio:siprec-recording-server secret: 'cymru', drachtio:siprec-recording-server tags: [], drachtio:siprec-recording-server wp: [WireProtocol], drachtio:siprec-recording-server [Symbol(kCapture)]: false drachtio:siprec-recording-server }, drachtio:siprec-recording-server msg: SipMessage { headers: [Object] }, drachtio:siprec-recording-server finished: false, drachtio:siprec-recording-server _req: <ref 1> Request { drachtio:siprec-recording-server _events: [Object: null prototype] {}, drachtio:siprec-recording-server _eventsCount: 0, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server msg: [SipMessage], drachtio:siprec-recording-server source: 'network', drachtio:siprec-recording-server source_address: '10.x.x.112', drachtio:siprec-recording-server source_port: 5060, drachtio:siprec-recording-server protocol: 'udp', drachtio:siprec-recording-server stackTime: '15:04:18.092809', drachtio:siprec-recording-server stackTxnId: '7d4eabfb-37ad-47fc-8ada-9e4cc64895a7', drachtio:siprec-recording-server stackDialogId: '', drachtio:siprec-recording-server server: [Object], drachtio:siprec-recording-server receivedOn: '10.x.x.134:5090', drachtio:siprec-recording-server _res: [Circular *2], drachtio:siprec-recording-server _agent: [DrachtioAgent], drachtio:siprec-recording-server socket: [Socket], drachtio:siprec-recording-server app: [Function], drachtio:siprec-recording-server srf: [Srf], drachtio:siprec-recording-server [Symbol(kCapture)]: false drachtio:siprec-recording-server }, drachtio:siprec-recording-server socket: Socket { drachtio:siprec-recording-server connecting: false, drachtio:siprec-recording-server _hadError: false, drachtio:siprec-recording-server _parent: null, drachtio:siprec-recording-server _host: null, drachtio:siprec-recording-server _closeAfterHandlingError: false, drachtio:siprec-recording-server _readableState: [ReadableState], drachtio:siprec-recording-server _events: [Object: null prototype], drachtio:siprec-recording-server _eventsCount: 5, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server _writableState: [WritableState], drachtio:siprec-recording-server allowHalfOpen: false, drachtio:siprec-recording-server _sockname: [Object], drachtio:siprec-recording-server _pendingData: null, drachtio:siprec-recording-server _pendingEncoding: '', drachtio:siprec-recording-server server: null, drachtio:siprec-recording-server _server: null, drachtio:siprec-recording-server _peername: [Object], drachtio:siprec-recording-server [Symbol(async_id_symbol)]: 6, drachtio:siprec-recording-server [Symbol(kHandle)]: [TCP], drachtio:siprec-recording-server [Symbol(lastWriteQueueSize)]: 0, drachtio:siprec-recording-server [Symbol(timeout)]: null, drachtio:siprec-recording-server [Symbol(kBuffer)]: null, drachtio:siprec-recording-server [Symbol(kBufferCb)]: null, drachtio:siprec-recording-server [Symbol(kBufferGen)]: null, drachtio:siprec-recording-server [Symbol(kCapture)]: false, drachtio:siprec-recording-server [Symbol(kSetNoDelay)]: true, drachtio:siprec-recording-server [Symbol(kSetKeepAlive)]: true, drachtio:siprec-recording-server [Symbol(kSetKeepAliveInitialDelay)]: 0, drachtio:siprec-recording-server [Symbol(kBytesRead)]: 0, drachtio:siprec-recording-server [Symbol(kBytesWritten)]: 0 drachtio:siprec-recording-server }, drachtio:siprec-recording-server srf: Srf { drachtio:siprec-recording-server _events: [Object: null prototype], drachtio:siprec-recording-server _eventsCount: 2, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server _dialogs: Map(0) {}, drachtio:siprec-recording-server _tags: [], drachtio:siprec-recording-server _app: [Function], drachtio:siprec-recording-server [Symbol(kCapture)]: false drachtio:siprec-recording-server }, drachtio:siprec-recording-server [Symbol(kCapture)]: false drachtio:siprec-recording-server }, drachtio:siprec-recording-server logger: EventEmitter { drachtio:siprec-recording-server stream: WriteStream { drachtio:siprec-recording-server connecting: false, drachtio:siprec-recording-server _hadError: false, drachtio:siprec-recording-server _parent: null, drachtio:siprec-recording-server _host: null, drachtio:siprec-recording-server _closeAfterHandlingError: false, drachtio:siprec-recording-server _readableState: [ReadableState], drachtio:siprec-recording-server _events: [Object: null prototype], drachtio:siprec-recording-server _eventsCount: 1, drachtio:siprec-recording-server _maxListeners: undefined, drachtio:siprec-recording-server _writableState: [WritableState], drachtio:siprec-recording-server allowHalfOpen: false, drachtio:siprec-recording-server _sockname: null, drachtio:siprec-recording-server _pendingData: null, drachtio:siprec-recording-server _pendingEncoding: '', drachtio:siprec-recording-server server: null, drachtio:siprec-recording-server _server: null, drachtio:siprec-recording-server columns: 183, drachtio:siprec-recording-server rows: 43, drachtio:siprec-recording-server _type: 'tty', drachtio:siprec-recording-server fd: 1, drachtio:siprec-recording-server _isStdio: true, drachtio:siprec-recording-server destroySoon: [Function: destroy], drachtio:siprec-recording-server _destroy: [Function: dummyDestroy], drachtio:siprec-recording-server [Symbol(async_id_symbol)]: 4, drachtio:siprec-recording-server [Symbol(kHandle)]: [TTY], drachtio:siprec-recording-server [Symbol(lastWriteQueueSize)]: 0, drachtio:siprec-recording-server [Symbol(timeout)]: null, drachtio:siprec-recording-server [Symbol(kBuffer)]: null, drachtio:siprec-recording-server [Symbol(kBufferCb)]: null, drachtio:siprec-recording-server [Symbol(kBufferGen)]: null, drachtio:siprec-recording-server [Symbol(kCapture)]: false, drachtio:siprec-recording-server [Symbol(kSetNoDelay)]: false, drachtio:siprec-recording-server [Symbol(kSetKeepAlive)]: false, drachtio:siprec-recording-server [Symbol(kSetKeepAliveInitialDelay)]: 0, drachtio:siprec-recording-server [Symbol(kBytesRead)]: 0, drachtio:siprec-recording-server [Symbol(kBytesWritten)]: 0 drachtio:siprec-recording-server }, drachtio:siprec-recording-server serializers: {}, drachtio:siprec-recording-server chindings: ',"pid":109891,"hostname":"SIPINTERFACE01-1","callid":"B2B.92.5795484.1718895857.1242373537"', drachtio:siprec-recording-server _levelVal: 30, drachtio:siprec-recording-server fatal: [Function: LOG], drachtio:siprec-recording-server error: [Function: LOG], drachtio:siprec-recording-server warn: [Function: LOG], drachtio:siprec-recording-server info: [Function: LOG], drachtio:siprec-recording-server debug: [Function: noop], drachtio:siprec-recording-server trace: [Function: noop] drachtio:siprec-recording-server }, drachtio:siprec-recording-server xml: '<?xml version="1.0" encoding="UTF-8"?>\r\n' + drachtio:siprec-recording-server "\r\n" + drachtio:siprec-recording-server '\tcomplete\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\tsipSessionID>cakgrcvqrwfheid@pandi-Lenovo-V14</sipSessionID\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t\r\n' + drachtio:siprec-recording-server '\t\t\t1009\r\n' + drachtio:siprec-recording-server '\t\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t2024-06-20T15:04:17+0000\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t2024-06-20T15:04:17+0000\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\t2024-06-20T15:04:17+0000\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\t\r\n' + drachtio:siprec-recording-server '\r\n' + drachtio:siprec-recording-server '--OSS-unique-boundary-42--\r\n', drachtio:siprec-recording-server recordingData: { drachtio:siprec-recording-server recording: { drachtio:siprec-recording-server '$': [Object], drachtio:siprec-recording-server datamode: [Array], drachtio:siprec-recording-server session: [Array], drachtio:siprec-recording-server participant: [Array], drachtio:siprec-recording-server sessionrecordingassoc: [Array], drachtio:siprec-recording-server participantsessionassoc: [Array], drachtio:siprec-recording-server participantstreamassoc: [Array] drachtio:siprec-recording-server } drachtio:siprec-recording-server }, drachtio:siprec-recording-server sessionId: '1046f391-571e-4c36-9e45-9c0d7508c065', drachtio:siprec-recording-server sdp1: 'v=0\r\n' + drachtio:siprec-recording-server 'o=- 7382601495339934508 7382601495339934508 IN IP4 10.x.x.112\r\n' + drachtio:siprec-recording-server 's=rtpengine-10-5-3-5-1\r\n' + drachtio:siprec-recording-server 't=0 0\r\n' + drachtio:siprec-recording-server 'm=audio 10018 RTP/AVP 8 101\r\n' + drachtio:siprec-recording-server 'c=IN IP4 10.x.x.112\r\n' + drachtio:siprec-recording-server 'a=label:1\r\n' + drachtio:siprec-recording-server 'a=rtpmap:8 PCMA/8000\r\n' + drachtio:siprec-recording-server 'a=rtpmap:101 telephone-event/8000\r\n' + drachtio:siprec-recording-server 'a=fmtp:101 0-15\r\n' + drachtio:siprec-recording-server 'a=sendonly\r\n' + drachtio:siprec-recording-server 'a=rtcp:10019\r\n' + drachtio:siprec-recording-server 'a=ptime:20\r\n', drachtio:siprec-recording-server sdp2: 'v=0\r\n' + drachtio:siprec-recording-server 'o=- 7382601495339934508 7382601495339934508 IN IP4 10.x.x.112\r\n' + drachtio:siprec-recording-server 's=rtpengine-10-5-3-5-1\r\n' + drachtio:siprec-recording-server 't=0 0\r\n' + drachtio:siprec-recording-server 'm=audio 10034 RTP/AVP 8 101\r\n' + drachtio:siprec-recording-server 'c=IN IP4 10.x.x.112\r\n' + drachtio:siprec-recording-server 'a=label:0\r\n' + drachtio:siprec-recording-server 'a=rtpmap:8 PCMA/8000\r\n' + drachtio:siprec-recording-server 'a=rtpmap:101 telephone-event/8000\r\n' + drachtio:siprec-recording-server 'a=fmtp:101 0-15\r\n' + drachtio:siprec-recording-server 'a=sendonly\r\n' + drachtio:siprec-recording-server 'a=rtcp:10035\r\n' + drachtio:siprec-recording-server 'a=ptime:20\r\n', drachtio:siprec-recording-server caller: {}, drachtio:siprec-recording-server callee: {} drachtio:siprec-recording-server } payload parser results +0ms {"level":50,"time":1718895858170,"msg":"Error connecting incoming SIPREC call to freeswitch","pid":109891,"hostname":"SIPINTERFACE01-1","callid":"B2B.92.5795484.1718895857.1242373537","type":"Error","stack":"TypeError: Cannot read properties of undefined (reading 'forEach')\n at /usr/src/drachtio-siprec-recording-server/lib/payload-parser.js:116:29\n at Parser. (/usr/src/drachtio-siprec-recording-server/node_modules/xml2js/lib/parser.js:304:18)\n at Parser.emit (node:events:517:28)\n at SAXParser.onclosetag (/usr/src/drachtio-siprec-recording-server/node_modules/xml2js/lib/parser.js:262:26)\n at emit (/usr/src/drachtio-siprec-recording-server/node_modules/sax/lib/sax.js:631:35)\n at emitNode (/usr/src/drachtio-siprec-recording-server/node_modules/sax/lib/sax.js:636:5)\n at closeTag (/usr/src/drachtio-siprec-recording-server/node_modules/sax/lib/sax.js:896:7)\n at SAXParser.write (/usr/src/drachtio-siprec-recording-server/node_modules/sax/lib/sax.js:1460:13)\n at exports.Parser.Parser.parseString (/usr/src/drachtio-siprec-recording-server/node_modules/xml2js/lib/parser.js:323:31)\n at Parser.parseString (/usr/src/drachtio-siprec-recording-server/node_modules/xml2js/lib/parser.js:5:59)","v":1} /usr/src/drachtio-siprec-recording-server/lib/payload-parser.js:116 obj[${prefix}stream].forEach((s) => { ^

TypeError: Cannot read properties of undefined (reading 'forEach') at /usr/src/drachtio-siprec-recording-server/lib/payload-parser.js:116:29 at Parser. (/usr/src/drachtio-siprec-recording-server/node_modules/xml2js/lib/parser.js:304:18) at Parser.emit (node:events:517:28) at SAXParser.onclosetag (/usr/src/drachtio-siprec-recording-server/node_modules/xml2js/lib/parser.js:262:26) at emit (/usr/src/drachtio-siprec-recording-server/node_modules/sax/lib/sax.js:631:35) at emitNode (/usr/src/drachtio-siprec-recording-server/node_modules/sax/lib/sax.js:636:5) at closeTag (/usr/src/drachtio-siprec-recording-server/node_modules/sax/lib/sax.js:896:7) at SAXParser.write (/usr/src/drachtio-siprec-recording-server/node_modules/sax/lib/sax.js:1460:13) at exports.Parser.Parser.parseString (/usr/src/drachtio-siprec-recording-server/node_modules/xml2js/lib/parser.js:323:31) at Parser.parseString (/usr/src/drachtio-siprec-recording-server/node_modules/xml2js/lib/parser.js:5:59)

Node.js v18.19.0

Pandi1981 commented 2 months ago

while debugging i am getting const prefix value is empty...

obj[${prefix}stream].forEach((s) => { Please let me know where could be wrong while constructing INVITE SIPREC...

Pandi1981 commented 2 months ago

Please xml input file from opensips 3.4 to drachito "XMLparser_input.log"

Pandi1981 commented 1 month ago

It's a opensips 3.4.5 issue sorted out!!!

Nick-Leyendecker commented 1 month ago

I believe we may be experiencing a similar issue.. can you explain what opensips issue you are referencing here and is this working properly for you?

Pandi1981 commented 1 month ago

While sending xmlmeta data from opensips doesn't contain streamid and it's missed in the opensips 3.4.5 and same updated in 3.4.6 and it's working fine...

Pandi1981 commented 1 month ago

Issue with opensips 3.4.5 and streamid is updated in the opensips 3.4.6 issue resolved