Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Не могу понять как привязать входящие на определенный транк

1

Имею FreePBX 2.8.1.4 и Asterisk 1.8.

Есть два транка от одного провайдера Порттелеком (если это важно).

Мне надо, чтобы, если звонять на транк №1 -> звонок на 1-й экстейшн, а если звонят на транк №2 - > звонок на 2-й экстейшн.

Создаю в Inbound Routers входящий маршрут и с CID указываю номер 302555 (это номер транка №2). Сохраняю. Звоню на этот номер и получаю лог от Астериска:

 == Using SIP RTP TOS bits 184  == Using SIP RTP CoS mark 5
-- Executing [302555@from-trunk-sip-portel1:1] Set("SIP/portel1-00000477", "GROUP()=OUT_1") in new stack
-- Executing [302555@from-trunk-sip-portel1:2] Goto("SIP/portel1-00000477", "from-trunk,302555,1") in new stack
-- Goto (from-trunk,302555,1)
-- Executing [302555@from-trunk:1] Set("SIP/portel1-00000477", "__FROM_DID=30255") in new stack
-- Executing [302555@from-trunk:2] NoOp("SIP/portel1-00000477", "Received an unknown call with DID set to 302007") in new stack
-- Executing [302555@from-trunk:3] Goto("SIP/portel1-00000477", "s,a2") in new stack
-- Goto (from-trunk,s,2)
-- Executing [s@from-trunk:2] Answer("SIP/portel1-00000477", "") in new stack
-- Executing [s@from-trunk:3] Wait("SIP/portel1-00000477", "2") in new stack
-- Executing [s@from-trunk:4] Playback("SIP/portel1-00000477", "ss-noservice") in new stack
-- <SIP/portel1-00000477> Playing 'ss-noservice.gsm' (language 'en')
-- Executing [s@from-trunk:5] SayAlpha("SIP/portel1-00000477", "302555") in new stack
-- <SIP/portel1-00000477> Playing 'digits/3.gsm' (language 'en')
-- <SIP/portel1-00000477> Playing 'digits/0.gsm' (language 'en')
-- <SIP/portel1-00000477> Playing 'digits/2.gsm' (language 'en')
-- <SIP/portel1-00000477> Playing 'digits/0.gsm' (language 'en')
-- <SIP/portel1-00000477> Playing 'digits/0.gsm' (language 'en')
-- <SIP/portel1-00000477> Playing 'digits/7.gsm' (language 'en')
-- Executing [s@from-trunk:6] Hangup("SIP/portel1-00000477", "") in new stack



== Spawn extension (from-trunk, s, 6) exited non-zero on 'SIP/portel1-00000477'
-- Executing [h@from-trunk:1] Macro("SIP/portel1-00000477", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/portel1-00000477", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,4)
-- Executing [s@macro-hangupcall:4] GotoIf("SIP/portel1-00000477", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("SIP/portel1-00000477", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] Hangup("SIP/portel1-00000477", "") in new stack

== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/portel1-00000477' in macro 'hangupcall' == Spawn extension (from-trunk, h, 1) exited non-zero on 'SIP/portel1-00000477'

В логе указано, что Астериск перебирает не только транк №1 и №2, но и другие. О других я не упомянул, чтобы не запутаться.

100% уверен, что делаю не правильно. Что именно?

удалить закрыть спам изменить тег редактировать

спросил 2011-04-13 10:53:34 +0400

MaxRAF Gravatar MaxRAF
74 17 5 18

Comments

в настройках транка дело, а не в роутах. "Received an unknown call with DID set to 302007") in new stack. Вариант первый. Быстро но очень не безопасно - включить "allow sip anonymous incoming calls". Второй - смотреть почему транк считает звонки "unknown" kovoron ( 2011-04-13 11:33:45 +0400 )редактировать
Я бы рад посмотреть, но за что взяться не знаю. MaxRAF ( 2011-04-13 17:12:09 +0400 )редактировать
Начни с того что покажи настройки транка. kovoron ( 2011-04-13 18:09:40 +0400 )редактировать

3 Ответа

1

Решение не самое элегантное, но на примере просто Астериска можно сделать так:

Зарегистрировать оба аккаунта у провайдера и разрулить их в разные экстеншены в дефолтном контексте:

sip.conf

register => trunk1login:pass1@prov.com/ext1
register => trunk2login:pass2@prov.com/ext2

extension.conf

[default]

exten => ext1,1,Goto(contexttrunk1,s,1)
exten => ext2,1,Goto(contexttrunk2,s,1)

[contexttrunk1]

exten => s,1,Dial(SIP/user1)

[contexttrunk2]

exten => s,1,Dial(SIP/user2)

ссылка удалить спам редактировать

ответил 2011-04-14 00:58:23 +0400

um2010 Gravatar um2010
2056 70 13 55

обновил 2011-04-14 00:59:47 +0400

Comments

Большое спасибо, работает. MaxRAF ( 2011-04-14 03:20:43 +0400 )редактировать
sip.conf более подробно выложи - для транков. Zavr2008 ( 2011-04-14 03:22:56 +0400 )редактировать
зачем? um2010 ( 2011-04-14 08:26:55 +0400 )редактировать
0

-- Goto (from-trunk,s,2)

Странно что переходит в тот же контекст, что и ранее. См:

-- Goto (from-trunk,302555,1)

Может from-trunk1 или from-trunk2?

ссылка удалить спам редактировать

ответил 2011-04-14 03:27:20 +0400

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2886 11 9 40
http://mh.otx.ru/
0

Надо для начала убедиться что провайдер посылает логин и пароль при входящем звонке. У меня например манго телеком. И провайдер не посылает логин.

ссылка удалить спам редактировать

ответил 2011-04-13 12:57:26 +0400

arootkov Gravatar arootkov
41 15 5 14

Comments

но у нас есть и не SIP номера, а обычные на FXO шлюзе. С ними точь-в-точь такое же происходит. Прошу подсказать что я не так делаю. MaxRAF ( 2011-04-13 14:14:29 +0400 )редактировать
настройки транка покажешь? kovoron ( 2011-04-13 18:09:23 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку
1 закладка

подписаться на rss ленту новостей

Статистика

Задан: 2011-04-13 10:53:34 +0400

Просмотрен: 4,598 раз

Обновлен: Apr 14 '11

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.