如何使用 pyst 获取 SIP 对等点列表?

我想在我的 Python 应用程序中显示 Asterisk SIP peers。

我可以看到这样的列表正在执行:

dll,plugin_path  = find_lib()

ctypes.CDLL('libvlccore.dylib')

self._handle = _dlopen(self._name,mode)

OSError: dlopen(libvlccore.dylib,6): image not found

在 Python 中我使用 [pbx:~] # asterisk -rx "sip show peers" Name/username Host Dyn Forcerport Comedia ACL Port Status Description 212 (Unspecified) D No No 0 UNKNOWN 213 (Unspecified) D No No 0 UNKNOWN 217/217 169.0.5.17 D No No 5060 OK (29 ms) .... 库:

pyst 0.8

然后我漂亮地打印了响应的一些字段。但我得到的只是:

import asterisk.manager
...
manager = asterisk.manager.Manager()
try:
    manager.connect(host,port)
    manager.login(usr,passwd)
    r = manager.sippeers()

    print('------- r ----')
    pp.pprint(r)
    print('-----------')
    # ...

如何使用 ------- r ---- Success ----------- ------ response ----- [ u'Response: Success\r\n',u'actionID: pbx-25332-00000001\r\n',u'EventList: start\r\n',u'Message: Peer status list will follow\r\n'] ----------- ------ data ----- u'' ----------- ------ headers ----- { u'actionID': u'pbx-25332-00000001',u'EventList': u'start',u'Message': u'Peer status list will follow',u'Response': u'Success'} ----------- ----- multiheaders ------ { u'actionID': [u'pbx-25332-00000001'],u'EventList': [u'start'],u'Message': [u'Peer status list will follow'],u'Response': [u'Success']} ----------- 获取 SIP 对等点列表?

星号版本:

pyst
qwerrewqqwerrewq 回答:如何使用 pyst 获取 SIP 对等点列表?

sippeers() 只是直接发送 the SIPpeers command 的快捷方式。它不会对结果事件进行任何侦听。根据文档,您在发送命令后会收到 PeerlistPeerlistComplete 事件,因此您需要为这些事件注册一个侦听器。我没有使用过 pyst,所以我不熟悉 the structure of the events,但希望这会有所帮助。

import asterisk.manager
...

def evt_handler(evt,mgr):
    print(f'Got event {evt.name}')
    # do something with evt.data or evt.message

    if evt.name == 'PeerlistComplete':
        mgr.close()
    
manager = manager.Manager()
try:
    manager.connect(host,port)
    manager.login(usr,passwd)
    manager.register_event('Peerlist',evt_handler)
    manager.register_event('PeerlistComplete',evt_handler)
    manager.sippeers()
本文链接:https://www.f2er.com/1215431.html

大家都在问