VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

PJSIP и BLF

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
Аватара пользователя
Kroteg
Сообщения: 200
Зарегистрирован: 11 янв 2018, 13:51

PJSIP и BLF

Сообщение Kroteg »

Приветствую.
У кого-нибудь получалось подружить PJSIP с BLF?
Что и где надо настраивать? Пытаюсь настроить оповещения для внешнего транка.

Код: Выделить всё

409505@ext-did-0002-: PJSIP/409505,CustomP  State:Idle            Presence:not_set         Watchers  0
Засунул во вложенный контекст для этого номера:

Код: Выделить всё

[ext-did-0002-custom]

exten => 409505,hint,PJSIP/409505,CustomPresence:409505

Код: Выделить всё

*CLI> dialplan show 409505@ext-did-0002
[ Context 'ext-did-0002' created by 'pbx_config' ]
...
[ Included context 'ext-did-0002-custom' created by 'pbx_config' ]
  '409505' =>       hint: PJSIP/409505,CustomPresence:409505      [extensions_custom.conf:9]
В телефоне для BLF он и был указан и на чансипе работало:
Снимок экрана (1220).png
Снимок экрана (1220).png (2.43 КБ) 6736 просмотров
Необходимые модули в системе загружены.
Изображение
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: PJSIP и BLF

Сообщение ded »

Судя по описанию - это не внешний транк, это внутренний абонент PJSIP/409505 (во внешнем мире).
Определения: транк - внешняя трубочка, туда можно отправлять много разных вызовов номеров: 4095ХХ, 123456, или +79012345678 например.
Внутренний абонент, экстен - образно один номер 409505, и всё. В терминологии Н.323 - это терминал, а транк - это шлюз.

Посмотри через debug - SIP пакеты, должны бегать SUBSCRIBE, с приложениями, согласно RFC 3863 PIDF+XML, или XPIDF+XML.
Аватара пользователя
Kroteg
Сообщения: 200
Зарегистрирован: 11 янв 2018, 13:51

Reшено: PJSIP и BLF

Сообщение Kroteg »

Всё оказалось гораздо проще. После правки на

Код: Выделить всё

[from-pstn-custom]
exten => 409,hint,PJSIP/409505,CustomPresence:409505
Мне Астер выругался в кли:

Код: Выделить всё

[2020-02-05 15:03:47] NOTICE[28704]: res_pjsip_exten_state.c:418 new_subscribe: Endpoint '102' state subscription failed: Extension '409' does not exist in context 'from-internal' or has no associated hint
Откуда становится ясно что подписчик и отслеживаемый должны быть в одном контексте. Вот и добавляю хинт в контекст

Код: Выделить всё

[from-internal-custom]
exten => 409505,hint,PJSIP/409505,CustomPresence:409505
И после релоада диалплана пожалуйста - BLF моргает, Watchers сменился на 1.
Изображение
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: PJSIP и BLF

Сообщение ded »

1) А почему [from-pstn-custom] ?
По идее, если экстен добавлен в вэб-интерфейсе, то эта строчка должа сама появиться в extensions_additional.conf для абонента 409505?
exten => 409505,hint,PJSIP/409505,CustomPresence:409505

2) А почему [ext-did-0002-custom] ? зачем он во внешнем мире, где DIDs?
Аватара пользователя
Kroteg
Сообщения: 200
Зарегистрирован: 11 янв 2018, 13:51

Re: PJSIP и BLF

Сообщение Kroteg »

1) Почему-то freepbx не желает создавать хинты для внешних номеров.
2) Потому что внешние DID в конечном итоге и обитают в ext-did-0002
Изображение
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: PJSIP и BLF

Сообщение ded »

Внешние (со стороны from-trunk, from-pstn) пиры по логике Создателей - транки, шлюзы, софтсвичи и операторские АТС, мониторить их статус через hints полагаю не задумывалось ввиду неоднородности, а в случае с SIP - соответствие RFC 3863 под большим вопросом.
И почему телефонный аппарат - как внешний DID? У меня реально - ступор.
Мониторить состояние внутренних номеров через BLF - понимаю, а мониторить внешний шлюз по BLF - не понимаю. Сообщение
Endpoint '102' state subscription failed: Extension '409' does not exist in context 'from-internal'
говорит об endpoint 102, об 409 extension, каким боком туда внешний DID =409505?
Аватара пользователя
Kroteg
Сообщения: 200
Зарегистрирован: 11 янв 2018, 13:51

PJSIP и BLF

Сообщение Kroteg »

По порядку: видимо да - "мониторить" таким образом внешние номера и не планировали, но до этого было настроено на аппарате и удобно знать что поступил вызов и пока "висит" на IVR.
Телефонный аппарат - внутренний, на скриншоте настройки BLF (если речь о скриншоте).
А про последнее: если углубиться в документацию Астериска, то синтаксис хинтов выглядит:

Код: Выделить всё

exten = 6001,hint,SIP/Bob-mobile&SIP/Bob-desk
или
exten => 1000,hint,PJSIP/alice,CustomPresence:alice
т.е. экстен можно обозвать хоть 666 и через него отслеживать эндпойнт (например PJSIP/105), вот и проверял уже больше от безысходности, что, однако, натолкнуло на верное решение.
Изображение
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH