I am reaching out to you in hope anyone could share some sort of documentation or information on the issue that I am working on right now, I am not asking for hand guidance, but any tip that would point me into right direction will be greatly appreciated!
I will outline the problem in general view to give you understanding what I am looking for.
Long story short: I am trying to write call-recording script on servers using genesys engage product. According to documentation, after sending call recording request to the SIP server, the request is being forwarded to the media server, that starts call recording and then forwards the audio stream to socket endpoint specified in the request, however, the socket that I set up doesn’t seem to receive any connection after the request was processed (I have checked the socket itself with telnet from other server instance and I am pretty sure it’s listening correctly, also the SIP server response after recording request gives me ACK so I know that this bit is working ok, so I'll spare myself pasting here all the boilerplate).
After checking the logs, I see that media server is sending the invite in following manner:
INVITE sip:record=KOAG2VPNA57H1BTJ81493PTKGK000001@[my_socket_host_name]:5060;CallUUID=KOAG2VPNA57H1BTJ81493PTKGK000001;recordDN=123456789;DN=123456789 SIP/2.0
Via: SIP/2.0/TCP 10.213.181.94:7090;branch=z9hG4bK000000001C4207504d1794
From: <sip:Genesys@[media_server_ip]:7090>;tag=9650B629-68CF-4B21-DF97-5C7D9D33E14E
To: <sip:record=KOAG2VPNA57H1BTJ81493PTKGK000001@ my_socket_host_name:5060>;CallUUID=KOAG2VPNA57H1BTJ81493PTKGK000001;recordDN=123456789;DN=123456789
Max-Forwards: 70
CSeq: 1 INVITE
Call-ID: [email protected]
Contact: <sip:Genesys@[media_server_ip]:7090>
Content-Length: 228
Content-Type: application/sdp
Route: <sip:0000000009EC6080@[GVP_server_ip]:5060;transport=TCP;lr;gvp.rm.datanodes=1%7C2;confinstid=UQFF7NJJH53NBC7MH6OJ67TKKK000001;idtag=0000002E>
X-Genesys-GVP-Session-ID: 0FB9EF88-2FF5-4091-71B9-CF167D5629B1;gvp.rm.datanodes=1|2;gvp.rm.tenant-id=101_MSML_Profile
X-Genesys-GVP-Session-Data: callsession=0FB9EF88-2FF5-4091-71B9-CF167D5629B1;1;2;sip:[SIP_server_ip]:5060;;;Resources;MSML_Profile;;0;MSML_Profile
Supported: timer, uui
v=0
o=- 0268835512 0 IN IP4 [media_server_ip]
s=phone-call
c=IN IP4 10.213.181.94
t=0 0
m=audio 50106 RTP/AVP 8 0 101
a=rtpmap:8 pcma/8000
a=rtpmap:0 pcmu/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendonly
After doing wireshark trace, I notice that the request is not being sent directly to the host address of my listening socket, rather it is being sent on broadcast addresses with .252 and .255 in the last octet(cant specify the exact packet because all packet flow seems to be encrypted but during the trace session while running the script, the media server didn’t send any packet to any other address, not even mentioning the address of my listening socket). So now I am trying to figure out the logic behind the request URI and TO header field which share same syntax: <sip:record=KOAG2VPNA57H1BTJ81493PTKGK000001@ my_socket_host_name:5060>;CallUUID=KOAG2VPNA57H1BTJ81493PTKGK000001;recordDN=123456789;DN=123456789
Anywhere I look into resources about sip packet flow, I cant seem to find any example that would resemble this type of syntax, especially in the TO field, which always seems to be just pointing to specific DN or host/ip address, without this record request bit, so this is what makes my head hurt right now.
I am having assumptions, that the invite request is being broadcasted in following manner because after that genesys should return to media server the exact pointer to my listening host or forward it through gvp server, and the solution itself will be probably very much product - specific, but on other hand I want to understand how these types of invite requests are being handled in sip telephony, so I will be grateful if anyone would share some information on this subject, thanks!