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

Проблема с входящими вызовами

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

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

merc
Сообщения: 8
Зарегистрирован: 06 фев 2015, 12:05

Проблема с входящими вызовами

Сообщение merc »

Есть связка Ubuntu 14+Asterisk 11+Asterisk Gui 2.1
Внутренняя маршрутизация идёт через Cisco SPA8000, для внешних вызовов подключено 2 SIP канала на мегафоновском мультифоне.
Соответсвенно регистрация в sip.conf:
[general]
...
register = логин1:пароль1@мультифон.ру/1111
register= логин2:пароль2@мультифон.ру/2222

[multifon1]
dtmfmode=auto
username=логин1
type=peer
secret=пароль1
host=sbc.megafon.ru
fromuser=логин1
fromdomain=multifon.ru
port=5060
nat=force_rport
insecure=port,invite

[multifon2]
dtmfmode=auto
username=логин2
type=peer
secret=пароль2
host=sbc.megafon.ru
fromuser=логин2
fromdomain=multifon.ru
port=5060
nat=force_rport
insecure=port,invite
context=public

extensions.conf
[public]
exten=1111,1,NoOp(к нам по 1 линии звонит : ${CALLERID(num)} )
exten=1111,2,Goto(voicemenus,1111,1)
exten=2222,1,NoOp(к нам по 2 линии звонит : ${CALLERID(num)} )
exten=2222,2,Goto(voicemenus,2222,1)

Дальше звонки уходят на голосовое меню и всё хорошо. Проблема в следующем, время от времени становится невозможно дозвониться по первой линии, в консоль выкидывает ошибку что не найден экстеншен s в public. Обычно перезапуск астериска или перезагрузка sip.conf исправляет эту проблему, но со временем ошибка опять проявляется. Так же звонящего переключает на какое-то левой войсменю(в контексте default нет вообще ничего, как вариант это происходит из-за asterisk-gui и астер подгружает другое войсменю из extensions.ael (наткнулся недавно на такое объяснение в посте Ded'a в одной из тем), почему так происходит?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Проблема с входящими вызовами

Сообщение ded »

У вас
на пире [multifon2] есть
context=public
а на пире [multifon1] вообщен никакого контекста не указано, отсюда
exten=1111 выполняется в контексте public, а
exten=2222,1,NoOp(к нам по 2 линии звонит : ${CALLERID(num)} )
не выполняется, точнее - выполняется где ему заблагорассудится.
И это всё видно просто при просмотре прохождения вызова в CLI.

Что заставляет Вас писать в форум?
merc
Сообщения: 8
Зарегистрирован: 06 фев 2015, 12:05

Re: Проблема с входящими вызовами

Сообщение merc »

Проблема в том, что exten=2222 выполняется, только если звонить на вторую линию, а я звоню на первую, и проблема с ней.
Для multifon2 прописан public, потому что он вообще не хотел выполнятся(как раз таки ругался на отсутствии экстеншна в public'е), для multifon1 по дефолту сразу идёт в public, хоть контекст и не задан
merc
Сообщения: 8
Зарегистрирован: 06 фев 2015, 12:05

Re: Проблема с входящими вызовами

Сообщение merc »

Попутно возник ещё вопрос:
Насколько я понял, строка регистрации,а в частности всё что идёт после / в register = логин1:пароль1@мультифон.ру/1111 определяет, что все входящие с линии, будут передаваться в 1111 экстеншн, в связи с этим собственно вопрос, почему в консоль сыплются ворнинги call from логин1 to extension 's' rejected because extension not found in context 'public'. При всём этом, явление это не постоянное и проявляется не при каждом звонке
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Проблема с входящими вызовами

Сообщение virus_net »

ded писал(а):И это всё видно просто при просмотре прохождения вызова в CLI.
смотрелось ?
А так же:

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

CLI> dialplan show 1111@public

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

CLI> sip set debug ip IP_ADDRESS
после чего можно будет осознать что именно приходит и почему так
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
merc
Сообщения: 8
Зарегистрирован: 06 фев 2015, 12:05

Re: Проблема с входящими вызовами

Сообщение merc »

отключил в модулях PBX_ael, разбил входящие линии на 2 разных контекста, пока вроде работает( видимо потому, что теперь есть обработка экстеншена s), непонятно только почему мультифон время от времени слал мне входящий номер вместо 1111 (видимо игнорируя строку регистрации)
merc
Сообщения: 8
Зарегистрирован: 06 фев 2015, 12:05

Re: Проблема с входящими вызовами

Сообщение merc »

Напрасно предположил, что все работает( возможность отключить второй SIP-канал от старого сервера и проверить работоспособность обоих сразу бывает не часто в силу частых вызовов), проблема в том что:
Для каждого канала в SIP.conf прописан контекст, как я понимаю вся адресация входящих вызовов будет происходить через этот контекст, но входящий звонок со второй линии всё равно уходит через контекст первой. Почему так происходит?
Конфиги файлов:

sip.conf

[multifon1]
dtmfmode=auto
username=логин1
type=peer
secret=пароль1
host=sbc.megafon.ru
fromuser=логин1
fromdomain=multifon.ru
port=5060
nat=force_rport
insecure=port,invite
context=incoming_1


[multifon2]
dtmfmode=auto
username=логин2
type=peer
secret=пароль2
host=sbc.megafon.ru
fromuser=логин2
fromdomain=multifon.ru
port=5060
nat=force_rport
insecure=port,invite
context=incoming_2

extensions.conf
[incoming_1]
exten=s,1,Goto(public,11,1)
[incoming_2]
exten=s,1,Goto(public,22,1)

[public]
exten=11,1,NoOp(к нам по 1 линии звонит : ${CALLERID(num)} )
exten=11,2,Goto(voicemenus,11,1)
exten=22,1,NoOp(к нам по 2 линии звонит : ${CALLERID(num)} )
exten=22,2,Goto(voicemenus,22,1)

В консоли при вызове на оба номера я вижу
Using SIP RTP CoS mark 5
-- Executing [s@incoming_1:1] Goto("SIP/multifon-1-00000000", "public,11,1") in new stack
-- Goto (public,11,1)
-- Executing [11@public:1] NoOp("SIP/multifon-1-00000000", " к нам по 1 линии звонит‚ : номерзвонящего ") in new stack
-- Executing [11@public:2] Goto("SIP/multifon-1-00000000", "voicemenus,11,1") in new stack

Есть ли другой вариант обрабатывать входящие вызовы с двух каналов и переадресовывать их соответственно на нужные номера?
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Проблема с входящими вызовами

Сообщение Wapo »

Тысяча раз обсуждалось везде - сервер отправки ОДИН и ТОТ ЖЕ. Нельзя в таком режиме ожидать разные контексты, а рулить по DID
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Проблема с входящими вызовами

Сообщение ded »

Нет никаких двух каналов. Две регистрации с этого сервера (и более) Мультифон видит как одну, ибо ИП адрес и порт с которого прибегают регистрации не меняются. Для него это информация что вызовы на 1111 и на 2222 пересылать на этот ИП адрес и порт. Таким образом в разные контексты вы принять не можете. У freePBX один контекст для всех входящих - from-trunk/
Чтобы разделять на стороне Астериска входящие используют DID - direct inward dial (number), номер назначения, для этого надо чтобы регистрация каждого номера имела в конце
register => 1111user:1111pass@multifon.ru/1111
register => 2222user:2222pass@multifon.ru/2222
тогда прибегающий вызов никогда не будет иметь destination s и конструкции
exten=s,1,Goto(public,11,1)
не будут иметь смысла.
merc
Сообщения: 8
Зарегистрирован: 06 фев 2015, 12:05

Re: Проблема с входящими вызовами

Сообщение merc »

Благодарю за подробный ответ, изначально регистрация и была в таком формате, но были тоже косяки в работе
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH