URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 21933
[ Назад ]

Исходное сообщение
"Переадресация в TCL-скрипте"

Отправлено t800 , 18-Ноя-10 16:54 
Добрый день

  Имеется AS5400XM, на ней поднята карточная платформа на TCL 2.0. Абонент звонит на платформу, циска его радиусом авторизует в биллинге, потом спрашивает номер куда он там хочет позвонить и если все ОК, то совершает вызов:

...
leg setup $dest callInfo -l leg_outgoing
...

  Проблема в том, что такая механика не позволяет передать А-номер конечному абоненту: простой исходящий вызов, где А-номер не принадлежит нашей ёмкости, будет блокирован провайдером стыка. Пройти такой вызов может только в двух случаях: если А-номер подменяется фиктивным из нашей емкости, или если в полях исходящего сообщения Setup передается RDNIS (redirectNum). Во втором случае, присоединенный оператор поймет, что вызов переадресован абонентом нашей емкости (понятно кого тарифицировать) и пропустит звонок. А первый вариант - это то, как у нас сейчас всё работает. ;) Хочется же, чтобы все было правильно и красиво.

  Изучение параметров массива callInfo говорит о том, что реализовать задачу можно, потому что есть поля, которые имеет смысл заполнить для того, чтобы обозначить вызов как переадресованный. Вот только ничего не получается. Вот параметры, которые я пробовал менять:
set callInfo(redirectReason) "RR_NO_REASON"
set callInfo(redirectCfnrInd) "CFNR_TRUE"
set callInfo(mode) "REDIRECT"
set callInfo(originationNum) "8612ХХХХХХ"
set callInfo(destinationNum) "7918YYYYYY"
set callInfo(redirectNum) "8612ZZZZZZ"

  В трейсах или вообще не видно описания ошибки, или видны невнятные пояснения типа:

Nov 18 12:16:56.687: //1837686//Tcl :/tcl_parseCallID_vartagObj: VARTAG Translation Leg Count=0
Nov 18 12:16:56.691: //1837686//AFW_:/AFW_FSM_Drive: Tcl_Eval to drive FSM inside Tcl modulespace. code=1 code=ERROR
Nov 18 12:16:56.691: TCL script failure
        Result:
Nov 18 12:16:56.691:    TCL script failure errorInfo:
    while executing
"leg setup $dest callInfo -l leg_outgoing
    (procedure "act_Setup" line 17)
    invoked from within "act_Setup"

  Заполнение различных параметров дает разный тип ошибок.
  Вопрос к гуру: кто-то делал подобное? Гугление вопроса не дало ровным счетом ничего.


Содержание

Сообщения в этом обсуждении
"Переадресация в TCL-скрипте"
Отправлено t800 , 22-Ноя-10 10:13 
Однако, количество ответов зашкаливает

"Переадресация в TCL-скрипте"
Отправлено All_is_not_what_it_seems , 22-Ноя-10 11:48 
На просторах решения подобной задачки не встречал, сам игрался с обратным - расфасовыванием в зависимости от RDNIS.
А что в deb q93 происходит, после телодвижений, смотрели?

"Переадресация в TCL-скрипте"
Отправлено t800 , 22-Ноя-10 12:27 
> На просторах решения подобной задачки не встречал, сам игрался с обратным -
> расфасовыванием в зависимости от RDNIS.
> А что в deb q93 происходит, после телодвижений, смотрели?

Тут понимаете, ситуация в том, что на 10 вариантов игр с параметрами callInfo только один реально отрабатывает на этапе leg setup. Остальные отрубаются с той или иной ошибкой. Как бы там ни было, в дебаге видно, что RDNIS никак не интерпретируется и поле Redirect number в сообщении Setup не инициализируется