Страница 1 из 2

Пропуск трафика через другое устройство

Добавлено: 18 ноя 2015, 12:36
darth_xs
Здравствуйте! Появилась следующая задача: принимая вызовы от абонентских sip-устройств, направлять их на другую железку, после чего возвращать обратно на ту же атс и выпускать уже звонок наружу. Но asterisk отпинывает инвайты, приходящие из "петли", как "unauthorized" при insecure=port,invite, т.е. наличие sip-пиров (для которых авторизация инвайтов обязательна) для него в любом случае более "приоритетно", как я понимаю. До этого проблему при похожих задачах решал просто сменой протокола в "петельном" транке на h323 или iax, но сейчас сопряженное устройство умеет только sip, что пока поставило меня в тупик. А решение добавить в схему еще одну атс, чтоб избежать "петли", несколько накладно по многим критериям. Может, у кого-то есть идея, а я где-то хронически туплю? )

Re: Пропуск трафика через другое устройство

Добавлено: 18 ноя 2015, 12:51
Zavr2008
наверняка с диалпланами налажали - в случае петли при insecure=port,invite нужно сначала добавлять какой-либо-префикс, а на другой стороне - удалять.
Иначе промежуточной стороне стороне очень сложно понять откуда и куда отправлять звонок.

Re: Пропуск трафика через другое устройство

Добавлено: 18 ноя 2015, 13:24
darth_xs
Да, спасибо. Подобный вариант я рассматривал, но т.к. промежуточная станция в данном случае будет выполнять функцию сорм, то правильность АОНов именно на петельной железке, по идее, должна оставаться, раз в данном случае о том, что префикс "ненужный" петельная железка знать не будет - убирать же не она станет, а asterisk после возврата звонка.

Re: Пропуск трафика через другое устройство

Добавлено: 18 ноя 2015, 13:55
Glukinho
Переименуйте ваши SIP-пиры, чтобы учетки имели вид не 100, 101, 102..., а aivanov, vpetrov, bsidorov. А на петельную железку уже отправляйте звонки с From: <номерА> и To: <номерБ>, и в таком же виде принимайте. Тогда пересечений с внутренними SIP-учетками не будет.

http://www.voip-info.org/wiki/view/Asterisk+sip+type
Matching incoming calls to users and peers
Asterisk normally matches incoming calls to users based on the From: user name (without domain). However, if Asterisk can't find a user that matches the incoming call, it will try to match the caller's IP address with the IP addresses of known peers. If there's no match at all, the call will be sent to the context defined in the [general] section of sip.conf.

Re: Пропуск трафика через другое устройство

Добавлено: 18 ноя 2015, 14:00
darth_xs
Спасибо. Такой вариант, конечно, самый правильный, вот только речь, к сожалению, не о десятке и даже не сотне учетных записей и не в одном городе, т.е. физическая перенастройка всех абонентских sip-устройств граничит с фантастикой :cry:

Re: Пропуск трафика через другое устройство

Добавлено: 18 ноя 2015, 14:04
Glukinho
Вот, даже поинтереснее написано в sample конфигах sip.conf:
; When naming devices, make sure you understand how Asterisk matches calls
; that come in.
; 1. Asterisk checks the SIP From: address username and matches against
; names of devices with type=user
; The name is the text between square brackets [name]
; 2. Asterisk checks the From: addres and matches the list of devices
; with a type=peer
; 3. Asterisk checks the IP address (and port number) that the INVITE
; was sent from and matches against any devices with type=peer
;
; Don't mix extensions with the names of the devices. Devices need a unique
; name. The device name is *not* used as phone numbers. Phone numbers are
; anything you declare as an extension in the dialplan (extensions.conf).
;
; When setting up trunks, make sure there's no risk that any From: username
; (caller ID) will match any of your device names, because then Asterisk
; might match the wrong device.

Re: Пропуск трафика через другое устройство

Добавлено: 18 ноя 2015, 16:06
Glukinho
darth_xs писал(а):Спасибо. Такой вариант, конечно, самый правильный, вот только речь, к сожалению, не о десятке и даже не сотне учетных записей и не в одном городе, т.е. физическая перенастройка всех абонентских sip-устройств граничит с фантастикой :cry:
Тогда ставьте второй астериск и пускайте звонки на вашу петлю через него. Там уже играйте номерами как угодно (например, свжите по IAX и передавайте переменные внутри транка, или используйте SIPAddHeader и заголовки X-Asterisk-NumberA и X-Asterisk-NumberB), звоня при этом через SIP/asterisk2/loop и принимая звонки от него в контекст [from-loop]. Как-то так.

Re: Пропуск трафика через другое устройство

Добавлено: 18 ноя 2015, 18:19
darth_xs
Да, конечно, решение с дополнительной атс мне и виделось единственным, но нежелательным, оттого и пришел сюда.
Спасибо еще раз, Zavr2008, все же возвращаясь ко стандартным, но отвергнутым решениям, подумал, что доблестные сотрудники фсб не сильно обидятся, если у определенной нумерации вдруг исчезнет местный код страны, без которого появится нужное мне отличие. Ну а если таки обидятся, то буду искать иное решение )

Re: Пропуск трафика через другое устройство

Добавлено: 18 ноя 2015, 18:30
Zavr2008
о т.к. промежуточная станция в данном случае будет выполнять функцию сорм
Со сдачей в контору на 3 буквы или же Вам просто нужно звонки писать?

Re: Пропуск трафика через другое устройство

Добавлено: 18 ноя 2015, 19:25
darth_xs
Zavr2008 писал(а):Со сдачей в контору на 3 буквы или же Вам просто нужно звонки писать?
Со сдачей. Я постом выше это слово из 3х букв даже осмелился нацарапать ))