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

Realtime, проблема с внутреними номерами

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

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

Ответить
KeIIIa88
Сообщения: 4
Зарегистрирован: 20 фев 2014, 16:51

Realtime, проблема с внутреними номерами

Сообщение KeIIIa88 »

Добрый день, коллеги.
Я новичок, поэтому могу что-то не так понять и, соответственно, изложить.
Ситуация такая:
Имеется астериск 1.8, Эластикс 2.3, ФриПБХ 2.8 и СентОС 5.7 (Ставилось с дистрибутива Эластикса, с оф.сайта)
Решил сделать RealTime. Нашел такие инструкции:
http://voip.rus.net/tiki-index.php?page ... Extensions
И еще:
http://lsoft.daraba.ru/content/debian-a ... k-realtime
Еще много литературы по этой теме перечитал, все выкладывать не буду.
В таблице созданной БД завел два внутренних номера. Подцепил телефоны, все отлично, они регистрируются...собственно, дальше начались проблемы. Опишу подробнее.
До перехода на realtime у меня в системе были заведены внутренние номера 01100 и 01102. После создания базы данных добавил в нее (в БД) внутренние номера 01103 и 01104.
При звонке на номера 100 и 102 вызов проходит отлично (со всех внутренних номеров). Но когда я пытаюсь позвонить на 01103 или 01104, происходит ошибка:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
-- Executing [01103@from-internal:1] Macro("SIP/01104-0000001a", "user-callerid") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/01104-0000001a", "AMPUSER=01104") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/01104-0000001a", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/01104-0000001a", "1?Set(REALCALLERIDNUM=01104)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/01104-0000001a", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/01104-0000001a", "AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/01104-0000001a", "1?report") in new stack
-- Goto (macro-user-callerid,s,10)
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/01104-0000001a", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/01104-0000001a", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/01104-0000001a", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] Set("SIP/01104-0000001a", "CALLERID(number)=01104") in new stack
-- Executing [s@macro-user-callerid:20] Set("SIP/01104-0000001a", "CALLERID(name)=01104") in new stack
-- Executing [s@macro-user-callerid:21] NoOp("SIP/01104-0000001a", "Using CallerID "01104" <01104>") in new stack
-- Executing [01103@from-internal:2] Macro("SIP/01104-0000001a", "dundi-priv,01103") in new stack
-- Executing [s@macro-dundi-priv:1] Goto("SIP/01104-0000001a", "01103,1") in new stack
-- Goto (macro-dundi-priv,01103,1)
-- Executing [01103@from-internal:3] GotoIf("SIP/01104-0000001a", "0?100") in new stack
-- Executing [01103@from-internal:4] Goto("SIP/01104-0000001a", "bad-number,01103,1") in new stack
-- Goto (bad-number,01103,1)
-- Executing [01103@bad-number:1] ResetCDR("SIP/01104-0000001a", "") in new stack
-- Executing [01103@bad-number:2] NoCDR("SIP/01104-0000001a", "") in new stack
-- Executing [01103@bad-number:3] Progress("SIP/01104-0000001a", "") in new stack
-- Executing [01103@bad-number:4] Wait("SIP/01104-0000001a", "1") in new stack
-- Executing [01103@bad-number:5] Progress("SIP/01104-0000001a", "") in new stack
-- Executing [01103@bad-number:6] Playback("SIP/01104-0000001a", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
-- <SIP/01104-0000001a> Playing 'silence/1.gsm' (language 'en')
-- <SIP/01104-0000001a> Playing 'cannot-complete-as-dialed.gsm' (language 'en')
-- <SIP/01104-0000001a> Playing 'check-number-dial-again.gsm' (language 'en')
-- Executing [01103@bad-number:7] Wait("SIP/01104-0000001a", "1") in new stack
-- Executing [01103@bad-number:8] Congestion("SIP/01104-0000001a", "20") in new stack
== Spawn extension (bad-number, 01103, 8) exited non-zero on 'SIP/01104-0000001a'
По моему дилетантскому мнению, в тех инструкциях (ссылки выше) отсутствует какой-то важный пункт. Или я его пропустил, думая, что он не важен (cdr мне не нужно, я пункты с добавлением этой статистики пропускал, возможно в них было что-то важное для внутренних номеров...).
В конфиг-файлах я менял:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
В файле res_config_mysql.conf убрал комментирование с строк и изменил под свои данные:

[general]
dbhost = 127.0.0.1 ;хост на котором расположена БД
dbname = asteriskdb ;название БД
dbuser = db_user_login ;логин к БД
dbpass = db_user_password ;пароль к БД
dbport = 3306 ;порт
dbcharset = utf8 ;и кодировка соответственно

В файле extconfig.conf добавил строки которые будут соответствовать подключению к БД.

sippeers => mysql,general,sip_buddies
sipusers => mysql,general,sip_buddies
Подскажите где ошибка, чего я не доделал?
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Realtime, проблема с внутреними номерами

Сообщение awsswa »

судя по этому
Executing [01103@bad-number:6] Playback("SIP/01104-0000001a", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
у вас просто нет исходящего маршрута для звонка

были заведены внутренние номера 01100 и 01102

Executing [s@macro-user-callerid:20] Set("SIP/01104-0000001a", "CALLERID(name)=01104") in new stack

а извиняюсь спросить 01104 это кто ? тоже заведен ?
платный суппорт по мере возможностей
KeIIIa88
Сообщения: 4
Зарегистрирован: 20 фев 2014, 16:51

Re: Realtime, проблема с внутреними номерами

Сообщение KeIIIa88 »

01100 и 01102 - номера, заведенные с помощью веб интерфейса Эластикса. (то есть эти номера прописаны в конфигах)
01103 и 01104 - номера, добавленные в базу данных MySQL.
Все номера регистрируются и даже звонят на внешние номера (тестировал со своим сотовым)
Но когда друг на друга звонят, возникают проблемы...
Маршрут есть, а иначе как 01100 на 01102 звонит?
Где то услышал (а может прочел), что проблема может быть связана с тем, что Астериск не видит статусов номеров, зарегистрированных в базе денных. Нужно настроить hint'ы. Во всеми любимой книжке про Астериск не нашел про эти хинты ничего полезного.
Куда копать-то? Я уже неделю бьюсь с этим реалтаймом :shock:
Да, забыл добавить. Маршрут есть, правило набора в нем такое:
(01) |XXX/01XXX
Это в веб интерфейсе создавал.
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Realtime, проблема с внутреними номерами

Сообщение ded »

У него этот номер 01103 почему то ныряет через macro-dundi-priv:1] Goto("SIP/01104-0000001a", "01103,1") и там обрабатывается впустую, ничего не находит, и убегает
Goto("SIP/01104-0000001a", "bad-number,01103,1")
KeIIIa88
Сообщения: 4
Зарегистрирован: 20 фев 2014, 16:51

Re: Realtime, проблема с внутреними номерами

Сообщение KeIIIa88 »

Кажется, понял в чем суть проблемы. Астериск не считает номера, заведенные в базе данных, своими внутренними номерами. Поэтому звонки отправляет на внешнюю линию.
Каким образом сказать Астериске, чтобы сверял внутренние номера с базой данных?
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH