在媒体超时的情况下如何终止Kamailio的通话

问题描述 投票:0回答:1

我正在使用Kamailio版本5.3.3和rtpengine版本8.4.0。 Kamailio和Rtp-Engine都在同一台ubuntu计算机上运行。 rtpengine配置文件中的“超时”值设置为60秒。

我在注册到Kamailio的两个SIP客户端之间建立了呼叫,并且媒体通过rtp引擎中继-可以正常工作

为了测试rtp媒体超时,我阻止了从SIP客户端到rtpengine的UDP流量,并且在指定的时间段之后,我从rtpengine看到以下日志,这似乎表明它已检测到超时]

rtpengine[2127]: INFO: [R-RVm58r4SUY7Cz6GW-D5w..]: Closing call due to timeout

但是,即使在此之后,呼叫也会终止。所以我的问题是:

当rtp引擎检测到媒体超时时,如何让Kamailio终止呼叫。为此,需要对kamailio cfg进行哪些更改(如果有)?

UPDATE

在屏蔽IP地址后附加了当前的kamailio.cfg和rtpengine.conf文件

[基本上,我的要求是,如果一个呼叫中的一个(或两个)SIP客户端被杀死或失去网络或停止发送媒体-​​必须有一种方法可以在Kamailio中识别这一点并终止呼叫。

Kamailio配置:https://pastebin.com/s4akZSfartpengine配置:https://pastebin.com/7xzejiYW

我对此进行了进一步调试,并且面临两个单独的问题:

[第一期

我前面提到的问题-当我阻止从两个SIP客户端到RTPEngine的RTP流量时,RTP Engine会检测到超时,如从上述日志中看到的那样,但呼叫不会结束。根据我的理解,在进一步调试时,rtpengine需要对Kamailio进行RPC调用以告知其结束对话框-为此,我尝试在rtpengine中使用“ b2b-url”和“ xmlrpc-format”配置选项,但是在这里我不清楚以下内容:

a。在rtpengine的“ b2b-url”配置中应设置什么端口?一世尝试使用80和5060,但在以下情况下保持连接被拒绝rtpengine尝试在媒体超时时发出卷曲请求

b。为此需要加载哪个Kamailio模块-有一个XMLRPC模块,XHTTP RPC模块和JSONRPCS模块-其中之一是需要这个吗?

第二期

:第二个问题是,如果不是从两个设备都阻止了RTP流量,而是仅从其中一个设备阻止了它-那么rtpengine甚至无法检测到媒体超时,这意味着我看不到日志[我在syslog中看到这两个设备的流量都被阻止时看到的情况。我假设必须有一种方法可以检测到此情况-处理一台设备说出网络松动或停止发送媒体的情况-我如何才能基于此检测并采取措施?

我正在使用Kamailio版本5.3.3和rtpengine版本8.4.0。 Kamailio和Rtp-Engine都在同一台ubuntu计算机上运行。 rtpengine配置文件中的“超时”值设置为60秒。 ...

sip voip rtp kamailio
1个回答
0
投票

好,所以我很可能想出了第一个问题

© www.soinside.com 2019 - 2024. All rights reserved.