Приклад налаштування Freeswitch для підключення до Zadarma.
Дані зазначені в прикладі:
- 111111: Ваш sip-номер з особистого кабінету.
- Password: Пароль Вашого sip-номера з розділу "Підключення за SIP" особистого кабінету.
- 1234-100: Ваш внутрішній номер АТС з особистого кабінету.
- Password: Пароль Вашого внутрішнього номеру АТС із розділу "Моя АТС - Внутрішні номери" особистого кабінету.
- 1000: Внутрішній номер Freeswitch до якого підключається софтфон/ip-телефон для прийому і здійснення дзвінків.
1. Створюємо файл /etc/freeswitch/sip_profiles/external/zadarma.xml
<include> <gateway name="zadarma"> <param name="username" value="111111"/> <param name="password" value="Password"/> <param name="realm" value="sip.zadarma.com"/> <param name="from-user" value="111111"/> <param name="from-domain" value="sip.zadarma.com"/> <param name="proxy" value="sip.zadarma.com"/> <param name="expire-seconds" value="300"/> <param name="register" value="true"/> <param name="register-transport" value="udp"/> <param name="context" value="zadarma"/> </gateway> </include>
<include> <gateway name="zadarma"> <param name="username" value="1234-100"/> <param name="password" value="Password"/> <param name="realm" value="pbx.zadarma.com"/> <param name="from-user" value="1234-100"/> <param name="from-domain" value="pbx.zadarma.com"/> <param name="proxy" value="pbx.zadarma.com"/> <param name="expire-seconds" value="300"/> <param name="register" value="true"/> <param name="register-transport" value="udp"/> <param name="context" value="zadarma"/> </gateway> </include>
2. Створюємо файл з налаштуваннями діалплана /etc/freeswitch/dialplan/zadarma.xml
<?xml version="1.0" encoding="UTF-8"?> <include> <context name="zadarma"> <extension name="unloop"> <condition field="$${unroll_loops}" expression="^true$" /> <condition field="${sip_looped_call}" expression="^true$"> <action application="deflect" data="${destination_number}" /> </condition> </extension> <extension name="in-zadarma"> <condition field="destination_number" expression="^(111111)$"> <action application="bridge" data="user/1000@$${domain}"/> <action application="hangup"/> </condition> </extension> <extension name="out-zadarma"> <condition field="destination_number" expression="^(\d{10,15})$"> <action application="bridge" data="sofia/gateway/zadarma/$1"/> <action application="hangup"/> </condition> </extension> <extension name="local"> <condition field="destination_number" expression="^\d{4}$"> <action application="answer" /> <action application="sleep" data="1000" /> <action application="bridge" data="user/${destination_number}@$${domain}" /> <action application="hangup" /> </condition> </extension> </context> </include>
<?xml version="1.0" encoding="UTF-8"?> <include> <context name="zadarma"> <extension name="unloop"> <condition field="$${unroll_loops}" expression="^true$" /> <condition field="${sip_looped_call}" expression="^true$"> <action application="deflect" data="${destination_number}" /> </condition> </extension> <extension name="in-zadarma"> <condition field="destination_number" expression="^(1234-100)$"> <action application="bridge" data="user/1000@$${domain}"/> <action application="hangup"/> </condition> </extension> <extension name="out-zadarma"> <condition field="destination_number" expression="^(\d{10,15})$"> <action application="bridge" data="sofia/gateway/zadarma/$1"/> <action application="hangup"/> </condition> </extension> <extension name="local"> <condition field="destination_number" expression="^\d{4}$"> <action application="answer" /> <action application="sleep" data="1000" /> <action application="bridge" data="user/${destination_number}@$${domain}" /> <action application="hangup" /> </condition> </extension> </context> </include>
3. Створюємо в Freeswitch внутрішній номер 1000 до якого буде підключатися софтфон/ip-телефон для прийому і здійснення дзвінків. Редагуємо файл /etc/freeswitch/directory/default/1000.xml
<include>
<user id="1000">
<params>
<param name="password" value="your_hard_pasword"/>
<param name="vm-password" value="1000"/>
</params>
<variables>
<variable name="toll_allow" value="domestic,international,local"/>
<variable name="accountcode" value="1000"/>
<variable name="user_context" value="zadarma"/>
<variable name="effective_caller_id_name" value="Extension 1000"/>
<variable name="effective_caller_id_number" value="1000"/>
<variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
<variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
<variable name="callgroup" value="techsupport"/>
</variables>
</user>
</include>
Для того щоб Freeswitch перечитав конфігураційні файли, необхідно виконати команду fs_cli -x reloadxml
Налаштування Freeswitch завершено.