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

Статус абонента по PJSIP

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

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

Ответить
Alexey_Astashov
Сообщения: 8
Зарегистрирован: 11 фев 2014, 19:25

Статус абонента по PJSIP

Сообщение Alexey_Astashov »

Существует конекст
[macro-dialout-one-predial-hook]
exten => s,1,Noop(DEVICE STATE - ${DEVICE_STATE(${DSTRING})})
exten => s,n,ExecIf($["${DEVICE_STATE(${DSTRING})}" = "INUSE"]?Playback(abonent-razgovarivaet&zhdite-soedineniya))
exten => s,n,ExecIf($["${DEVICE_STATE(${DSTRING})}" = "INUSE"]?Set(D_OPTIONS=Ttm))
exten => s,n,ExecIf($["${DEVICE_STATE(${DSTRING})}" = "RINGINUSE"]?Playback(abonent-razgovarivaet&zhdite-soedineniya))
exten => s,n,ExecIf($["${DEVICE_STATE(${DSTRING})}" = "RINGINUSE"]?Set(D_OPTIONS=Ttm))

идеально работает при использовании chan_sip, но если используется chan_pjsip - Asterisk не возвращает текущий статус абонента
как выяснять состояние PJSIP абонентов, ибо теперь для PJSIP абонентов идет ответ:

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

-- Executing [s@macro-dialout-one-predial-hook:1] NoOp("SIP/011002-000000a4", "DEVICE STATE - INVALID") in new stack
хотя собственно core show hints показывает:
Код:

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

1704@ext-local      : PJSIP/1704&Custom:DN  State:Ringing         Presence:                Watchers  0
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH