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

SIPPER

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

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

evros
Сообщения: 19
Зарегистрирован: 18 ноя 2015, 11:35

SIPPER

Сообщение evros »

Добрый день.
Есть два астера соединенных IAX2 транками. На обоих сиповые аккаунты.
На одном астере номера 1ХХХ, на втором 2ХХХ.
В диалплане второго:
exten=>_1XXX,1,Answer()
exten=>_1XXX,n,Dial(IAX2/Trunk/${EXTEN},30,t)
exten=>_1XXX,n,Hangup()

Захотелось на втором проигрывать занятость номера, недоступность и т.д., сделал так:
exten=>_1XXX,1,Answer()
exten=>_1XXX,n,GotoIf($["${SIPPEER(${EXTEN},status)}"=""]?:chkOK)
exten=>_1XXX,n,Playback(/var/lib/asterisk/sounds/ru/incorect-number)
exten=>_1XXX,n,Hangup()
exten=>_1XXX,n(chkOK),GotoIf($["${SIPPEER(${EXTEN},status):0:2}"!="OK"]?:nnext)
exten=>_1XXX,n,Playback(/var/lib/asterisk/sounds/ru/the-number-u-dialed)
exten=>_1XXX,n,Playback(/var/lib/asterisk/sounds/ru/T-is-not-available)
exten=>_1XXX,n,Hangup()
exten=>_1XXX,n(nnext),Set(GROUP()=${EXTEN})
exten=>_1XXX,n,Set(CALLS=${GROUP_COUNT(${GROUP()})})
exten=>_1XXX,n,GotoIf($[${CALLS}>1]?bbusy)
exten=>_1XXX,n,Dial(IAX2/Trunk/${EXTEN},30,t)
exten=>_1XXX,n,GotoIf($["${DIALSTATUS}"="BUSY"]?bbusy)
exten=>_1XXX,n,Hangup()
exten=>_1XXX,n(bbusy),Playback(/var/lib/asterisk/sounds/ru/number)
exten=>_1XXX,n,Playback(/var/lib/asterisk/sounds/ru/zanjat)
exten=>_1XXX,n,Busy
exten=>_1XXX,n,Hangup()

Но данная конструкция не работает, при попытке звонка сразу голос - не правильно набран номер.
Что делаю не так.
Заранее спасибо.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: SIPPER

Сообщение ded »

В консоль Астериска заглядывать пробовали?
evros писал(а): при попытке звонка сразу голос - не правильно набран номер.
Всё согласно директиве
Playback(/var/lib/asterisk/sounds/ru/incorect-number)
evros
Сообщения: 19
Зарегистрирован: 18 ноя 2015, 11:35

Re: SIPPER

Сообщение evros »

== Using SIP RTP CoS mark 5
-- Executing [1270@IT:1] Answer("SIP/2080-00000399", "") in new stack
-- Executing [1270@IT:2] GotoIf("SIP/2080-00000399", "1?:chkOK") in new stack
-- Executing [1270@IT:3] Playback("SIP/2080-00000399", "/var/lib/asterisk/sounds/ru/incorect-number") in new stack
-- <SIP/2080-00000399> Playing '/var/lib/asterisk/sounds/ru/incorect-number.slin' (language 'ru')
-- Executing [1270@IT:4] Hangup("SIP/2080-00000399", "") in new stack
== Spawn extension (IT, 1270, 4) exited non-zero on 'SIP/2080-00000399'
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: SIPPER

Сообщение ded »

-- Executing [1270@IT:1] Answer("SIP/2080-00000399", "") in new stack
-- Executing [1270@IT:2] GotoIf("SIP/2080-00000399", "1?:chkOK") in new stack - - - тут ожидался переход на метку chkOK,
exten=>_1XXX,n(chkOK),GotoIf($["${SIPPEER(${EXTEN},status):0:2}"!="OK"]?:nnext)
потому что статус не был пустым?
а вместо этого прошло дальше на третий шаг -
-- Executing [1270@IT:3] Playback("SIP/2080-00000399", "/var/lib/asterisk/sounds/ru/incorect-number") in new stack ???

Синтаксис поправьте.
У Вас условия выглядят по разному -
status)}"=""]?:chkOK)
$[${CALLS}>1]?bbusy)
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: SIPPER

Сообщение virus_net »

ded писал(а):потому что статус не был пустым?
да 100% что не был, т.к.
exten=>_1XXX,n,GotoIf($["${SIPPEER(${EXTEN},status)}"=""]?:chkOK)
-- Executing [1270@IT:2] GotoIf("SIP/2080-00000399", "1?:chkOK")
Условие истина. Логично, что * не переходит на метку chkOK.

Называется - давайте научим траблшуту:
exten=>_1XXX,1,Answer()
exten=>_1XXX,n,NoOp(SIPPEER status is ${SIPPEER(${EXTEN},status)})
exten=>_1XXX,n,GotoIf($["${SIPPEER(${EXTEN},status)}"=""]?:chkOK)
...etc..
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
evros
Сообщения: 19
Зарегистрирован: 18 ноя 2015, 11:35

Re: SIPPER

Сообщение evros »

Сорри, конструкцию не я писал, не совсем въезжаю.
Выставил exten=>_1270,n,GotoIf($["${SIPPEER(${EXTEN},status)}"="1"]?:chkOK)
Отладка показывает, что не может получить статус? (1270 был в этот момент занят)
-- Executing [1270@IT:1] Answer("SIP/2080-000003ff", "") in new stack
-- Executing [1270@IT:2] NoOp("SIP/2080-000003ff", "SIPPEER status is ") in new stack
-- Executing [1270@IT:3] GotoIf("SIP/2080-000003ff", "0?:chkOK") in new stack
-- Goto (IT,1270,6)
-- Executing [1270@IT:6] GotoIf("SIP/2080-000003ff", "1?:nnext") in new stack
-- Executing [1270@IT:7] Playback("SIP/2080-000003ff", "/var/lib/asterisk/sounds/ru/the-number-u-dialed") in new stack
-- <SIP/2080-000003ff> Playing '/var/lib/asterisk/sounds/ru/the-number-u-dialed.slin' (language 'ru')
-- Executing [1270@IT:8] Playback("SIP/2080-000003ff", "/var/lib/asterisk/sounds/ru/T-is-not-available") in new stack
-- <SIP/2080-000003ff> Playing '/var/lib/asterisk/sounds/ru/T-is-not-available.slin' (language 'ru')
-- Executing [1270@IT:9] Hangup("SIP/2080-000003ff", "") in new stack
== Spawn extension (IT, 1270, 9) exited non-zero on 'SIP/2080-000003ff'
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: SIPPER

Сообщение ded »

evros писал(а):Сорри, конструкцию не я писал, не совсем въезжаю.
Мопед не мой, я только объяву разместил (с)

Вам надо изучать язык диалплана и написать свою конструкцию, или обратиться к тому, кто написал эту конструкцию. Обучаться программированию на форуме - не очень хорошая идея.
evros
Сообщения: 19
Зарегистрирован: 18 ноя 2015, 11:35

Re: SIPPER

Сообщение evros »

Понимаю, поэтому и попросил помощи, а слышу только тыканье в RFC и всё такое.
Повторюсь для локальных сиповых номеров данная конструкция работает, мне просто не понятно почему не работает, когда звонок идет от сипового аккаунта через IAX2 транк сиповому аккаунту на другой асет.
Samael28
Сообщения: 1057
Зарегистрирован: 08 янв 2011, 18:32
Откуда: Киев
Контактная информация:

Re: SIPPER

Сообщение Samael28 »

Потому что SIPPEER работает, исходя из названия, с SIP. А вы пытаетесь работать через IAX. Так что послание к книжке - не совсем плохая идея.
Мой профайл на Upwork
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: SIPPER

Сообщение virus_net »

evros писал(а): а слышу только тыканье в RFC и всё такое
А что вы ожидали ? Что все сделают за вас ? В этом разделе нужно читать/изучать/вникать/пробовать/траблшутить самостоятельно. Направление вам подсказно.
А "за вас" это уже другой раздел -> "Бизнес". Вот там сделают за ваши деньги и за вас.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH