Yvision.kz
kk
Разное
Разное
399 773 постов41 подписчиков
Всяко-разно
1
06:25, 06 октября 2011

idphone freeswitch

Добрый день.

потерял несколько дней, пока получилось настроить чтобы freeswitch смог работать с idphone.

ну так как у нас страна маленькая, и нам нужно попасть в 50 развитых стран мира, нужно придерживаться принципа "Dont repeat yourself". надеюсь кому-либо данное руководство сбережет нервы и время.

Содержание

  1. Вводные данные
  2. установка
  3. настройка
  4. поддержка режима t.38 gateway
  5. итоги

Вводные данные

имеем сервер centos. установлен freeswitch. как установить centos, freeswitch читайте на просторах интернета.

данные по idphone следующие

login 3XXXXXXXX@sip.telecom.kz

line   3XXXXXXXX

password PASSWORD

я подключался к idphone через интернет, если у вас уже есть мегалайн, или отдельное выделенное подключение к idphone, то вам нужно использовать опцию outgoing proxy(?).

 

Установка

Установка centos. с сайта http://mirror-kt.neolabs.kz/mirror/centos, качаем нужную нам версию, устанавливаем.

Установка freeswitch делаем согласно документации на сайте wiki.freeswitch.org. используйте git-версию.

 

Настройка

допустим что freeswitch установлен в /usr/local/freeswitch. в /usr/local/freeswitch/conf хранятся настройки системы.

создайте следующие файлы

1. /usr/local/freeswitch/conf/sip_profiles/external/idphone.xml

<include>
<gateway name="almaty">
<param name="username" value="3XXXXXXXX"/>
<param name="from-user" value="3XXXXXXXX"/>
<param name="extension" value="3XXXXXXXX"/>
<param name="extension-in-contact" value="true"/>
<param name="caller-id-in-from" value="true"/>
<param name="from-domain" value="sip.telecom.kz"/>
<param name="password" value="PASSWORD"/>
<param name="realm" value="BroadWorks"/>
<param name="proxy" value="sip.telecom.kz"/>
<param name="register" value="true"/>
<param name="register-transport" value="udp"/>
</gateway>
</include>

так как в работе idphone sip-протокол далек от соверщенства, а в freeswitch практически близок, приходится применять костыли.

поля from-user, extension, extension-in-contact, caller-id-in-from необходимы для правильной работы. подобраны методом проб и ошибок.

2. /usr/local/freeswitch/conf/dialplan/default/01_outbound_astana.xml

<include>
<extension name="astana">
<condition field="destination_number" expression="^87172(\d{6})$">
<action application="set" data="fax_enable_t38=true"/>
<action application="set" data="sip_execute_on_image=t38_gateway peer nocng"/>
<action application="set" data="hangup_after_bridge=true"/>
<action application="set" data="effective_caller_id_number=3XXXXXXXX"/>
<action application="bridge" data="{origination_caller_id_name='3XXXXXXXX',origination_caller_id_number=3XXXXXXXX}sofia/gateway/astana/$1"/>
<action application="hangup"/>
</condition>
</extension>
</include>

в данном файле мы настроили исход.звонки на Астану. особенно нужны данные поле effective_caller_id_number - устанавливаем значение коллерайди равное вашему логину, и

{origination_caller_id_name='3XXXXXXXX',origination_caller_id_number=3XXXXXXXX} фактически меняющее sip-заголовки на те которые ожидает увидеть сервер idphone.

 

3. запустите /usr/local/freeswitch/bin/fs_cli

sofia profile restart all

reloadxml

поддержка режима t.38 gateway

Почему я перешел с asterisk на freeswitch? все изза факсов. вроде уже технология должна быть на свалке, но никак не уйдет. в * нет поддержки t.38 gateway. в freeswitch есть поддержка. ну и в idphone нет поддержки t.38.

<action application="set" data="fax_enable_t38=true"/>
<action application="set" data="sip_execute_on_image=t38_gateway peer nocng"/>

если на плече А приходит звонок с t.38, то freeswitch конвертирует данные звонок в alaw t.30 augio fax.

Итоги

неделя ушла на чтобы обложится asterisk, freeswitch, x-lite, wireshark, google, чтобы в итоге получить рабочий конфиг для работы с idphone.

1
1164
2