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

Возможно ли настроить марштузацию вызовов не по Request-URI, а по полю To: из пакета INVITE?

0

Получил ответ из поддержки Мегафона:

"В запросе регистрации SIP-АТС клиента указывает Contact: <sip:s@xxx.xxx.xxx.141:5060;line=samegfw>, соответственно на него наша платформа и будет посылать запрос INVITE.. .. Вам необходимо настроить маршрутизацию вызовов в своей SIP-АТС так, чтобы направление на оконечное оборудование бралось не из Request-URI, а из поля To:"

который меня поставил в тупик. А так можно? Я всегда считал, что направление вызова берется из Request-URI.

Суть в том, что после настройки соединения asterisk13/freepbx14, транк pjsip с регитрацией на ВАТС мегафона, все вызовы с ВАТС мегафона приходят на "s".

Request-URI при этом вышлядит так: INVITE sip:s@xxx.xxx.xxx.141:5060;line=samegfw SIP/2.0

А поле To: так, например: To: <sip:3007@vats927937.megapbx.ru>

Кто виноват, что делать?)

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

спросил 2022-02-01 20:14:17 +0400

eux Gravatar eux flag of Russian Federation
60 14 2 10

1 Ответ

1

Теоретически да. Вы можете вытащить любой header из изначального инвайта(только первого) используя функцию SIPHeader.

На парктике вы должны в регистрации передавать мегафону экстеншен. Как и положено стандартом, как они и просят.

Для этого строка регистрации должна выглядеть вот так

register => user[:secret[:authuser]]@host[:port][/extension]

register => 2003:secret@host/2003
ссылка удалить спам редактировать

ответил 2022-02-01 22:55:15 +0400

meral Gravatar meral flag of Ukraine
23327 24 20 176
http://pro-sip.net/

Comments

Да, действительно получилось используя функцию в моем случае PJSIP_HEADER. Вначале нашел функцию sipgetheader(), но оказалось, что это что-то древнее, уже в актуальных asterisk'ах не существущее. В результате получилось так:

exten => s,1,Set(CALLNUM=${PJSIP_HEADER(read,To)})

exten => s,n,Set(CALLNUM=${CUT(CALLNUM,@,1)})

exten => s,n,Set(CALLNUM=${CUT(CALLNUM,:,2)})

exten => s,n,Goto(куда_надо,${CALLNUM},1)

А "на практике" экстеншн вышлядит так: pbx_sip_0 - так что от "s" не сильно отличается) Потому это соединение двух АТС, виртуальной мегафона и офисной, которое предполагает маршрутизацию с номеров на офисной АТС на "короткие" номера на ВАТС и обратно. И меня удивило, что на "короткие" номера на ВАТС вызовы с офисной АТС проходили сразу, а обратно все все вызовы отправллись на "s". И пришлось городить вот такую .. маршрутизацию)

eux ( 2022-02-02 11:41:16 +0400 )редактировать

При регистрации на мегафоновской ВАТС в строке регистрации указывается экстеншен, и никаких бубнов. Делал и под SIP, и под PJSIP.

tesak89 ( 2022-02-02 12:18:16 +0400 )редактировать

Ну, указан там экстеншн. И что? - все звонки с ВАТС на подключенную АТС идут на этот эсктеншн. Не указан на s. Все бубны на месте. Я же начал с цитаты из мегафоновской поддержки: берите номер из To, а не Request-URI. Если у вас вас в мегафоновской АТС подлкючен один екстеншн, то, конечно, проблем не будет, потому что все вызовы Вы будете ожидать на него. А если в мегафоновской ватс стоит маршрутизация , предположим _3XXX на подключенную офисную АТС, то набирай хоть 3000, хоть 3999, вызов пойдет на pbx_sip_0. И нужно из To нужный номер доставать, как выше показано, оказывается. Речь идёт не о подключении к ватс мегафона с учетными данными юзера, что, вероятно Вы имеете в виду, а об их услуге "Подключение других АТС".

eux ( 2022-02-02 12:53:41 +0400 )редактировать

В цитате мегафона ключевое не "берите номер из To:", а "соответственно, наша платформа...". То есть, как запрос на регистрацию отправляется, то инвайты и летят. Как я писал выше, у меня почему-то регистрация идет без бубнов в виде выдирания DID из полей инвайта. Под SIP в sip.conf имею: register => <user>:<pass>@<host>.megapbx.ru/<did> При поступлении звонка извне выполняется <did>@<defaultcontext>. Разница между моим конфом и твоим -- поле Contact при исходящей регистрации, по ходу. Вот и надо понять, почему в Contact твоя PBX указывает s@XXX.XXX.XXX.XXX, а не <exten>@XXX.XXX.XXX.XXX

tesak89 ( 2022-02-04 14:06:15 +0400 )редактировать

У меня PJSIP транк. Там есть специальный поле contact, в котрое ставишь "did" и инвайте летят на него. Этот did вышлядит так: sip_pbx_0. Соответвенно все входящие вызовы идут на него. И приходится их так же "выдирать" из To. Поэтому я и написал, разницы никакой. Хорошо, я на строю транк через chan_sip, посмотрим, будет ли разница)

eux ( 2022-02-04 17:04:15 +0400 )редактировать

Попробуй chansip, с PJSIP я немного обманул, у меня регистрации в мультифоне на нем сделаны. PJSIP на реалтайме? Попробуй поле contactuser и clienturi заполни, на chansip успеется перейти). У меня в clienturi вбито sip:7XXXXXXXXXX@multifon.ru, в contactuser 7ХХХХХХХХХХ

tesak89 ( 2022-02-04 17:43:20 +0400 )редактировать

Да мне недолга настроить что угодно) Я уже сделал тестовый транк на chan_sip. строк регистрации: pbx_sip_1@vatsxxxxxx.megapbx.ru:xxxxxxxxxxxx@vatsxxxxxx.megapbx.ru/pbx_sip_1 - как у них рекомендовано. Интвайты прилетают на pbx_sip_1, как и ожидалось. Я же говорю, мы о разном. Вы о поключении мультфона. Там у вас есть один номер, на него Вы вызовы и ожидаете. Я же о соединении двух АТС, между которыми должны ходить звонки с телефонов, подключенных к этим АТС. Например на ВАТС мегофана 7XX, а на офисной 4XXX. Соответсвенно, если звонишб из офиса с номера 4000 на 700 на ВАТС, то все ок, звонит 700. А если взонишь с 700 на 4000, то вызов на asterisk приходит на pbx_sip_1. И приходится номер "выдирать" из To, хоть тресни.

eux ( 2022-02-04 18:16:35 +0400 )редактировать

А, я-то их подключаю ради одного экстеншена, входящие закинуть к себе. В моем случае достаточно pbxsip1@vatsxxxxxx.megapbx.ru:xxxxxxxxxxxx@vatsxxxxxx.megapbx.ru/7777777 прописать. А вообще странно, что их ВАТС не позволяет нормально состыковаться с другой АТС

tesak89 ( 2022-02-07 14:07:55 +0400 )редактировать

Так об этом и речь)))

eux ( 2022-02-07 14:13:03 +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)!
[скрыть предварительный просмотр]

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

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

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

Статистика

Задан: 2022-02-01 20:14:17 +0400

Просмотрен: 194 раз

Обновлен: Feb 01

Похожие вопросы:

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