ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

SIPPER

Проблемы и их решения Asterisk как такового

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

SIPPER

Сообщение evros » 28 фев 2017, 13:47

Добрый день.
Есть два астера соединенных 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()

Но данная конструкция не работает, при попытке звонка сразу голос - не правильно набран номер.
Что делаю не так.
Заранее спасибо.
evros
 
Сообщений: 19
Зарегистрирован: 18 ноя 2015, 12:35

Re: SIPPER

Сообщение ded » 28 фев 2017, 15:35

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

Re: SIPPER

Сообщение evros » 28 фев 2017, 18:52

== 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'
evros
 
Сообщений: 19
Зарегистрирован: 18 ноя 2015, 12:35

Re: SIPPER

Сообщение ded » 28 фев 2017, 19:35

-- 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)
ded
 
Сообщений: 15826
Зарегистрирован: 26 авг 2010, 19:00

Re: SIPPER

Сообщение virus_net » 28 фев 2017, 19:49

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 - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: SIPPER

Сообщение evros » 01 мар 2017, 11:49

Сорри, конструкцию не я писал, не совсем въезжаю.
Выставил 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'
evros
 
Сообщений: 19
Зарегистрирован: 18 ноя 2015, 12:35

Re: SIPPER

Сообщение ded » 01 мар 2017, 11:54

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

Вам надо изучать язык диалплана и написать свою конструкцию, или обратиться к тому, кто написал эту конструкцию. Обучаться программированию на форуме - не очень хорошая идея.
ded
 
Сообщений: 15826
Зарегистрирован: 26 авг 2010, 19:00

Re: SIPPER

Сообщение evros » 01 мар 2017, 12:06

Понимаю, поэтому и попросил помощи, а слышу только тыканье в RFC и всё такое.
Повторюсь для локальных сиповых номеров данная конструкция работает, мне просто не понятно почему не работает, когда звонок идет от сипового аккаунта через IAX2 транк сиповому аккаунту на другой асет.
evros
 
Сообщений: 19
Зарегистрирован: 18 ноя 2015, 12:35

Re: SIPPER

Сообщение Samael28 » 01 мар 2017, 12:39

Потому что SIPPEER работает, исходя из названия, с SIP. А вы пытаетесь работать через IAX. Так что послание к книжке - не совсем плохая идея.
Мой профайл на Upwork
Samael28
 
Сообщений: 1057
Зарегистрирован: 08 янв 2011, 19:32
Откуда: Киев

Re: SIPPER

Сообщение virus_net » 01 мар 2017, 12:48

evros писал(а): а слышу только тыканье в RFC и всё такое

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

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

След.

Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH