Re: PSTN

От: Dmitry Akindinov <CGatePro_at_mx_ru>
Дата: Fri 17 Nov 2006 - 11:36:22 MSK

Здравствуйте,

Oleg Shumsky wrote:
> Здравствуйте.
>
> Коллеги, обнаружил, что в новых версиях CGPro появился более продвинутый
> gatewaycaller и работа с PSTN.
> Соответственно и появились вопросы.
>
> Ранее, когда раздела PSTN просто не было или он не фунциклировал у меня
> работало все следующим образом:
> - при звонке в pstn запускается gatewaycaller
> - gatewaycaller авторизует пользователя и выясняет через HTTPCall, может
> ли тот звонить.
> - если звонить может, то HTTPCall возвращает количество доступных минут
> пользователю на данное направление и (!) группу PSTN шлюзов, куда можно
> отправить звонок
> - gatewaycaller строит луп, где пытается пробиться на один из PSTN
> шлюзов, в случае, если на первый пробиться не удается, то пытается на
> второй и т.п., т.е. делаем рероутинг. Надо отметить, что на pstn шлюзы
> посылаютс номера не в формате E164, а используется префикс+российский
> формат.
> - ну и дальше если все нормально, то строится соединение.
>
> Теперь в документации я вижу следующее: (да, поправьте пропущенные буквы
> в словах gatewaycaller и там еще где-то в этом разделе я видел косяки)
>
> If you need to use several different gateways per user or per domain
> (depending on the destination), you can specify the gateaycaller
> PSTN/xxxxxx/ settings as dictionaries. For example:
>
> PSTNGatewayName:{gw1=provider1.com;gw2=provder2.com;}
> PSTNFromName:{gw1=fromName1;gw2=fromName2;}
> Если честно, то документация написана про это как-то весьма расплывчато.

Такой способ задания настроек позволяет более гибко использовать стандартный код gatewaycaller. Но для вашей задачи (перебор по нескольким шлюзам), его все равно придется чуть-чуть поменять.

> Или у нас сильно отличаются представления о звонках Cgate<->PSTN и я
> чего-то не понимаю.

Так спрашивайте.

> Вопрос в следующем, могу ли я в веб-морде, где прописывается эта
> настройка для пользователей создать шаблон, где через ';' будут указаны
> все доступные этому пользователю pstn шлюзы и будет ли работать при этом
> рероутинг ?

Задать можно все что угодно - добавьте Custom Account Setting, имя которого начинается с букв PSTN и он появится в preferences -> PSTN этого аккаунта. Но стандартный gatewaycaller перебирать все указанные в словаре шлюзы не будет - он будет использовать либо указанный, либо первый в списке.

> т.е. мне можно не использовать мой кривой скрипт, который
> пытается сделать рероутинг сам?

Скрипт все равно придется сделать (поправить gatewaycaller; вся разница будет в цикле по шлюзам, с использованием calerLeg).

> несколько непонятно, что именно мне писать в веб-морде. К примеру, мои
> PSTN шлюзы имеют IP 10.1.1.1, 10.1.1.2, 10.1.1.3
> Мне писать в вебморде в настройках PSTNGatewayName {gw1=10.1.1.1;
> gw2=10.1.1.2; gw3=10.1.1.3;} ??

Можно и так. Только стандартный gatewaycaller работает со словарем (ассоциативным массивом) настроек, где важен не порядок, знание ключа наперед.

В вашем случае важен порядок использования шлюзов, потому и настройки ваши правидьнее указать в виде массива (10.1.1.1, 10.1.1.2, 10.1.1.3). Но и программа, соответственно, должна быть готова работать с массивом, а не словарем.

> Также, непонятно, нужно ли при этом что-то передавать скрипту в
> параметрах непосредственно в Router и если нужно, то в каком виде
> передавать?

Это от ваших желаний зависит. Например, для некоторых типов звонков (межгород?) вам предпочтительнее пропустить первые два шлюза (они не умеют межгород) и сразу начать со третьего. Все это можно передать в параметрах в удобном для вас (вашего скрипта) виде.

> Т.е. хотелось бы, чтобы кто-нить русский объяснил, что имелось ввиду в
> описании этих функций. Про то, что можно передавать параметром
> набираемый номер - я понял :)

>
> Заранее спасибо!
>

-- 
Best regards,
Dmitry Akindinov -- Stalker Labs.
Получено Fri Nov 17 08:36:15 2006

Этот архив был сгенерирован hypermail 2.1.8 : Fri 17 Nov 2006 - 12:13:10 MSK