First time here? Check out the FAQ!

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

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

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% уверен, что делаю не правильно. Что именно?

спросил Apr 13 '11

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 (Apr 13 '11)edit
Я бы рад посмотреть, но за что взяться не знаю. MaxRAF (Apr 13 '11)edit
Начни с того что покажи настройки транка. kovoron (Apr 13 '11)edit

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)

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

ответил Apr 13 '11

um2010 Gravatar um2010
2056 70 13 55

обновил Apr 13 '11

Comments

Большое спасибо, работает. MaxRAF (Apr 13 '11)edit
sip.conf более подробно выложи - для транков. Zavr2008 (Apr 13 '11)edit
зачем? um2010 (Apr 14 '11)edit
0

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

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

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

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

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

ответил Apr 13 '11

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

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

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

ответил Apr 13 '11

arootkov Gravatar arootkov
41 15 5 14

Comments

но у нас есть и не SIP номера, а обычные на FXO шлюзе. С ними точь-в-точь такое же происходит. Прошу подсказать что я не так делаю. MaxRAF (Apr 13 '11)edit
настройки транка покажешь? kovoron (Apr 13 '11)edit

Ваш ответ

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 ленту новостей

Статистика

Задан: Apr 13 '11

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

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

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