0

我正在与您联系,希望任何人都可以就我现在正在处理的问题分享某种文档或信息,我不是在寻求手动指导,但是任何能指引我正确方向的提示都将不胜感激!

我将从一般的角度概述问题,以使您了解我在寻找什么。

长话短说:我正在尝试使用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 电话中处理的,所以如果有人能分享一些关于这个主题的信息,我将不胜感激,谢谢!

4

1 回答 1

0

所以现在我试图找出共享相同语法的请求 URI 和 TO 标头字段背后的逻辑: <sip:record=KOAG2VPNA57H1BTJ81493PTKGK000001@ my_socket_host_name:5060>;CallUUID=KOAG2VPNA57H1BTJ81493PTKGK000001;recordDN=123456789;DN=12345678

无论我在哪里查看有关 sip 数据包流的资源,我似乎都找不到任何类似于这种语法的示例,尤其是在 TO 字段中,它似乎总是只是指向特定的 DN 或主机/IP 地址,没有此记录请求位,所以这就是现在让我头疼的原因。

此 URI 格式是为 SIP 服务器和 GVP 之间的内部信令定义的。用户部分record=KOAG2VPNA57H1BTJ81493PTKGK000001识别记录的呼叫并在CallUUIDURL 装饰中重复。总而言之,该 URL 特定于 Genesys 实施,不参与公共 SIP 通道上的传输。

我有假设,邀请请求正在以下列方式广播,因为在那之后genesys应该将指向我的监听主机的确切指针返回到媒体服务器或通过gvp服务器转发它,并且解决方案本身可能是非常好的产品

  • 具体的,但另一方面我想了解这些类型的邀请请求是如何在 sip 电话中处理的,所以如果有人能分享一些关于这个主题的信息,我将不胜感激,谢谢!

我不确定是否完全理解您的问题,但恐怕您还没有看到松散路由标头:

Route: <sip:0000000009EC6080@[GVP_server_ip]:5060;transport=TCP;lr;gvp.rm.datanodes=1%7C2;confinstid=UQFF7NJJH53NBC7MH6OJ67TKKK000001;idtag=0000002E>

该路由确保后续请求将通过 GVP_server_IP,魔法就在那里。

于 2021-03-24T15:07:09.740 回答