Size: a a a

Asterisk may be Experts

2019 April 18

SS

SilverJoe SPA in Asterisk may be Experts
agic
и кто мне теперь скажет что ami рулит ))
👍🏻
источник
2019 April 24

АШ

Александр Шандер in Asterisk may be Experts
парни, помогите советом. Решил по AMI собирать статус по peer. Хочу юзать python 2.7, скачал asterisk-ami , есть ошибки в коде. Скачал библиотеки pyst,  тоже есть ошибки, не может разобрать Message: Peer status will follow, конца не видит.
Что есть рабочее ?
источник

EK

Evgeniy K in Asterisk may be Experts
Александр Шандер
парни, помогите советом. Решил по AMI собирать статус по peer. Хочу юзать python 2.7, скачал asterisk-ami , есть ошибки в коде. Скачал библиотеки pyst,  тоже есть ошибки, не может разобрать Message: Peer status will follow, конца не видит.
Что есть рабочее ?
asterisk-ami, но я работаю с 3.6 питоном
источник

K

Kaschey in Asterisk may be Experts
Александр Шандер
парни, помогите советом. Решил по AMI собирать статус по peer. Хочу юзать python 2.7, скачал asterisk-ami , есть ошибки в коде. Скачал библиотеки pyst,  тоже есть ошибки, не может разобрать Message: Peer status will follow, конца не видит.
Что есть рабочее ?
дык там надо эвент отдельный ловить
источник

EK

Evgeniy K in Asterisk may be Experts
Александр Шандер
парни, помогите советом. Решил по AMI собирать статус по peer. Хочу юзать python 2.7, скачал asterisk-ami , есть ошибки в коде. Скачал библиотеки pyst,  тоже есть ошибки, не может разобрать Message: Peer status will follow, конца не видит.
Что есть рабочее ?
а какой экшен используется?
источник

K

Kaschey in Asterisk may be Experts
типа
client.add_event_listener(event_listener)
action = SimpleAction(
   'SIPshowregistry',
источник

АШ

Александр Шандер in Asterisk may be Experts
Kaschey
дык там надо эвент отдельный ловить
ami_white_list = ['PeerStatus', 'SIPpeerstatusComplete']
for event in ami_white_list:
               client.register_event(event, Event_Listener_PJSIP_SIP)
action_getSIPPeersStatus = {'Action': 'SIPpeerstatus'}
future = client.send_action(action_getSIPPeersStatus)
источник

АШ

Александр Шандер in Asterisk may be Experts
это в pyst
источник

АШ

Александр Шандер in Asterisk may be Experts
Помогите разобраться. Не получается отдебажить код, что бы понять, где косяк в
https://pypi.org/project/asterisk-ami/
Есть разбор строк входящих
Action: SIPshowpeer
Peer: vip
ActionID: 18

Response: Error
ActionID: 18
Message: Peer vip not found.


Action: SIPshowpeer
Peer: sipnet
ActionID: 19
Просто плююсь send_action и получаю ответы
            for PeerName in SIPListPeers:
               print 'PeerName:', PeerName
               action_getSIPPeerStatus = SimpleAction('SIPshowpeer', Peer=PeerName)
               if PeerName == 'vip':
                   print '!'
               PeerStatus = client.send_action(action_getSIPPeerStatus)

Проблема, в том именно, что в ответах AMI от Asterisk Response: Error и именно при Action: SIPshowpeer, вконце даёт две пустые строки, а не одну строку.
Соответствено, последующий Action, будет пустым, None. Может кто-то сталкивался?
источник

АШ

Александр Шандер in Asterisk may be Experts
Не так дебажил, в общем в генераторе пакетик выплёвывается
class AMIClient(object):
   def _next_pack(self):
оригинал
(pack, data) = self.asterisk_pack_regex.split(data, 1)
yield self._decode_pack(pack)
Поменял на
(pack, data) = self.asterisk_pack_regex.split(data, 1)
yield self._decode_pack(pack.strip())

Создал кастомный Class, переопределив метод,

просто отрежит строчки вконце, и не будет 2-ых строк, а оно ключи пакета (ответы) разбирает всёравно, пока строчки есть, не ориентируясь на \n\r
источник

EK

Evgeniy K in Asterisk may be Experts
угу. если ивенты, то пока не ковырял. у меня пока только экшены без необходимости подписи на ивенты
источник

АШ

Александр Шандер in Asterisk may be Experts
Evgeniy K
asterisk-ami, но я работаю с 3.6 питоном
это по asterisk-ami
источник

EK

Evgeniy K in Asterisk may be Experts
это я про asterisk-ami и питон 3.6
источник

АШ

Александр Шандер in Asterisk may be Experts
Evgeniy K
это я про asterisk-ami и питон 3.6
Там дело что лишнии \n\r на информации в пире, когда его нет
источник

АШ

Александр Шандер in Asterisk may be Experts
Это в либе не учтёно
источник

АШ

Александр Шандер in Asterisk may be Experts
Чую Проще исправленную либу взять, и раскатать её как свою )
источник

АШ

Александр Шандер in Asterisk may be Experts
Потому что в pyst ковыряться опять, почему не хватает весь список Message: Peer status will follow
источник

a

agic in Asterisk may be Experts
а почему не использовать ari
источник

a

agic in Asterisk may be Experts
<
[
 {
   "technology": "SIP",
   "resource": "10801",
   "state": "unknown",
   "channel_ids": []
 },
источник

a

agic in Asterisk may be Experts
источник