Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / TrixBox, Elastix, FreePbx / Контекст при возврате звонка

Контекст при возврате звонка

Замена контекста экстеншена на транковый
Сообщений: 16

Контекст при возврате звонка

Добрый день

Триксбокс у меня расположен в ядре, звонки с него уходят на циску через соответствующий транк с контекстом from-cisco. По ряду причин (взаимодействие с биллингом) я ВСЕ звонки отправляю в циску, даже те, которые могли бы триксом быть отправлены на соответствующий экстеншен или рут. А циска уже у себя решает, отправить звонок на провайдера или вернуть назад в трикс.

Суть вопроса на примере.
1. Есть 2 экстеншена. Оба имеют контекст from-ext
2. 1 экстеншен звонит на 2 экстеншен
3. Звонок уходит в транк циски
4. Циска прогоняет звонок по диал-пирам, и кидает его назад в трикс
5. Звонок возвращается, НО (!) его контекст по-прежнему from-ext вместо from-cisco.

Это и есть проблема, поскольку для корректной обработки звонков (обрезание префиксов и т.п.) для меня принципиально, чтобы контекст менялся на тот, который определен для транка. А трикс, похоже, имеет жёсткий алгоритм определения контекста по номеру экстеншена, а не по транку. Точнее приоритет определения.

Как-то можно, не меняя А-номер, заставить трикс определять звонку контекст по транку?
2010-12-09 14:12

Avatara of zzuz
Откуда: SPb
Сообщений: 1307

Re: Контекст при возврате звонка

настроить нормально транк. а правильней один как type=user другой как type=peer.
http://линия24.рф - Астериск и прочие бубны!
2010-12-09 14:33

Сообщений: 16

Re: Контекст при возврате звонка

zzuz:

настроить нормально транк. а правильней один как type=user другой как type=peer.
Чуть подробнее можно? Транк у меня только один, потому что экстеншен регистрируется напрямую на триксе. Вы имеете в виду, прописать на экстеншене type=user?

Сейчас проверил, у меня на циску транк прописан type=friend
2010-12-09 14:57

Avatara of zzuz
Откуда: SPb
Сообщений: 1307

Re: Контекст при возврате звонка

пользовательская секция в sip.conf может иметь два вида type=peer и type=user.
type=friend объединяет их в одной секции. так что смотрите внимательно настройки.
http://линия24.рф - Астериск и прочие бубны!
2010-12-09 16:26

Сообщений: 16

Re: Контекст при возврате звонка

Настройки просмотрены внимательно. type=peer|user тут оказалось не причем. Тесты показали, что астериск присваивает контекст, сначала анализируя CID. Если CID совпадает с номером extension, то вне зависимости от того, из какого транка пришёл звонок, ему присваивается контекст экстеншена. Повлиять на это сменой type нельзя.

Устранил ситуацию заменой номеров экстеншенов и игрой с cid_masquerade.
2010-12-09 19:05

Avatara of zzuz
Откуда: SPb
Сообщений: 1307

Re: Контекст при возврате звонка

никто не говорил , что это нужно менять тупым переопределением type= .я говорил , что настройки надо определять имено из этого. и контекст есть только у type=user.
http://линия24.рф - Астериск и прочие бубны!
2010-12-09 22:01

Сообщений: 16

Re: Контекст при возврате звонка

Я, по-видимому, просто не умею читать между строк.

Если верить доступной информации, тип friend подразумевает одновременный набор возможностей как для user и для peer. В моем случае все экстеншены и транки имеют type=friend. Поэтому контекст должен (и реально это так и есть) присваиваться любому звонку.

Другое дело, что трикс игнорирует контекст на транке, если вызов, который пришел из него, имеет CID=экстеншену. Для меня это очень принципиально, поскольку контекст для экстеншенов имеет правила обработки с преобразованием номеров, которые не должны применятся, если звонок пришел из транка.

Как бы там ни было, вопрос решился разрывом связи между экстеншеном и его CID
2010-12-10 11:17

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru