asterisk ari呼叫卡在python铃声中

2024-09-28 05:16:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Asterisk的ARI脚本非常陌生,我一直在尝试编写一些脚本,用python处理与aripy的1对1的通信。我一直在遵循asterisk wiki中提供的例子,到目前为止还不错。但是当我试着建立一个电话,接受者总是不断地打电话,即使我已经接了。我接电话的方式有问题吗?这是我的剧本

def stasis_start_cb(self, channel, ev):
        """Handler for StasisStart event"""
        chan = channel.get('channel')
        chan.answer()
        print "Channel %s has entered the application" % chan.json.get('name')
        outgoing = client.channels.originate(endpoint="SIP/1002", extension='1002', callerId='Tes', app='channel-dump', appArgs='dialed')

我试着用OOP来简化函数的用法,这个脚本有什么问题吗?下面是另一个脚本试图通过使用网桥进行呼叫:

^{pr2}$

两个客户都可以加入网桥,我也可以打电话,但问题依然存在,尽管我已经接了电话,但接受者一直说他们在打电话


Tags: 脚本get方式wikichannelasterisk例子chan
1条回答
网友
1楼 · 发布于 2024-09-28 05:16:38

结果,问题就在这里

def outgoing_call(self,channel):
    try:
        outgoing = client.channels.originate(endpoint="SIP/1002", app='channel-dump', appArgs='dialed')
    except requests.HTTPError:
        channel.hangup()
        return

当拨打的号码接听电话时,他们使用相同的脚本,所以最后他们再次拨打自己的电话。只需要一个简单的if条件,使所拨号码不再自动呼叫

相关问题 更多 >

    热门问题