You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Asterisk AMI Python客户端无法接收事件问题求助

Asterisk AMI事件无法捕获问题

我正尝试用asterisk-ami包开发一个简单的呼叫生成器,客户端可以正常连接Asterisk并发送命令,但无法接收AMI事件。通过tcpdump确认Asterisk确实向客户端发送了事件,但使用库内置的两种事件处理方式(继承EventListener类、普通函数)均无法捕获事件。

测试代码(继承EventListener类方式)

#!/usr/bin/python3
import time
from asterisk.ami import AMIClient, SimpleAction,EventListener


# Asterisk AMI configuration
ami_host = '127.0.0.1'
ami_port = 5038
ami_username = 'testuser'
ami_password = '123456'


# Create Asterisk AMI client
ami = AMIClient(address=ami_host, port=ami_port)
ami.login(username=ami_username, secret=ami_password)


class AllEventListener(EventListener):

    def on_event(self,event, **kwargs):
        print('Event', event)


ami.add_event_listener(AllEventListener())

while True:
    try:
        time.sleep(1)
    except KeyboardInterrupt:
        # Stop the processing thread and wait for it to finish
        terminate_flag = True
        #processing_thread.join()
        break

# Cleanup
ami.logoff()

测试代码(普通函数方式)

def event_listener(event,**kwargs):
    print('called')
    print(event)
    print(**kwargs)

ami.add_event_listener(event_listener)

内容的提问来源于stack exchange,提问作者Amir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 15:39:59