星号事件设备注册

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

当设备使用ARI注册应用程序时,我正在尝试检索事件。可以通过将端点状态从脱机更改为联机来假定。我在python中完成的实现是:

self.client.on_event ('DeviceStateChanged', self.deviceRegistration)
self.client.on_event ('PeerStatusChange', self.deviceRegistration)
self.client.on_event ('EndpointStateChange', self.deviceRegistration)
self.client.on_event ('ContactStatusChange', self.deviceRegistration)

没有任何作用。任何人都可以提供帮助吗?

python events asterisk asterisk-ari
1个回答
0
投票

我设法找到一种解决方法。设备状态的更改已通过事件EndpointStateChange进行侦听。但是在此之前,我们必须订阅我们的应用程序。在这里执行:

self.client = ari.connect(.....)    
self.client.applications.subscribe(applicationName="(our stasis name)",eventSource="endpoint:PJSIP")
self.client.on_endpoint_event('EndpointStateChange',self.handleDeviceRegister) 

其中handleDeviceRegister方法为:

def handleDeviceRegister(self, channel_obj,ev):                
    if channel_obj.json["state"]=="online":            
        print "channel change from off to online"

如果有人有其他选择,请告诉我。谢谢

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