我正在与您联系,希望任何人都可以就我现在正在处理的问题分享某种文档或信息,我不是在寻求手动指导,但是任何能指引我正确方向的提示都将不胜感激!
我将从一般的角度概述问题,以使您了解我在寻找什么。
长话短说:我正在尝试使用genesys Engagement 产品在服务器上编写通话录音脚本。根据文档,在向 SIP 服务器发送通话录音请求后,请求被转发到媒体服务器,媒体服务器开始通话录音,然后将音频流转发到请求中指定的套接字端点,但是,我设置的套接字处理请求后似乎没有收到任何连接(我已经使用来自其他服务器实例的 telnet 检查了套接字本身,我很确定它正在正确监听,录制请求后的 SIP 服务器响应也给了我 ACK,所以我知道这一点工作正常,所以我将不用自己在这里粘贴所有样板文件)。
检查日志后,我看到媒体服务器正在以下列方式发送邀请:
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: 0138A2FF-24D9-47B7-D4A0-1792FBB33E45-7090@10.213.180.94
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
在进行wireshark跟踪之后,我注意到请求没有直接发送到我的监听套接字的主机地址,而是在最后一个八位字节中使用0.252和0.255的广播地址发送(无法指定确切的数据包,因为所有数据包流似乎是加密的,但是在运行脚本的跟踪会话期间,媒体服务器没有将任何数据包发送到任何其他地址,甚至没有提及我的侦听套接字的地址)。所以现在我试图找出共享相同语法的请求 URI 和 TO 标头字段背后的逻辑: <sip:record=KOAG2VPNA57H1BTJ81493PTKGK000001@ my_socket_host_name:5060>;CallUUID=KOAG2VPNA57H1BTJ81493PTKGK000001;recordDN=123456789;DN=12345678
无论我在哪里查看有关 sip 数据包流的资源,我似乎都找不到任何类似于这种语法的示例,尤其是在 TO 字段中,它似乎总是只是指向特定的 DN 或主机/IP 地址,没有此记录请求位,所以这就是现在让我头疼的原因。
我假设邀请请求以以下方式广播,因为在那之后genesys应该将指向我的监听主机的确切指针返回到媒体服务器或通过gvp服务器转发它,并且解决方案本身可能是非常特定于产品的,但另一方面,我想了解这些类型的邀请请求是如何在 sip 电话中处理的,所以如果有人能分享一些关于这个主题的信息,我将不胜感激,谢谢!