freeswitch 分機組呼叫

Freeswitch可以作爲SIP註冊服務器,sip終端作爲freeswitch user註冊到freeswitch上,另外,freeswitch也可以通過sip協議連接外部服務,通常通過網關連接到pstn.

 

(1)freeswitch 用戶

Freeswitch通過引入directory 概念來管理user,一個directory包含若干domain,一個domain可以包含若干個group,每個group 又分若干個真實的用戶。

 

結構如下:

 

<section name="directory">

<domainname="example.com">

<groups>

<groupname="default">

<userid="1001">

<params>

<param name="password"value="1234"/>

</params>

</user>

</group>

</groups>

      </domain>

</section>

 

通常並不需要group,用戶部分直接在domain下,默認域名爲freeswitch的ip地址。

/usr/local/freeswitch/conf/directory/目錄爲user配置及保存的位置

當freeswitch收到註冊包時首先根據sip from或者to頭中的domain查找directory目錄下面的用戶,freeswitch默認使用的域名爲服務器ip,可以通過在控制檯上執行sofia status查看。

如果想讓服務器使用域名,客戶端註冊時用域名方式註冊,需要修改vars.xml配置文件,設置默認域名。

/usr/local/freeswitch/conf/directory/default.xml爲directory主配置文件,這裏指定域名,組;系統默認組爲default,

此組下的用戶都在/usr/local/freeswitch/conf/directory/default/目錄下,默認有20個賬號。

所以,在default組中添加新賬號的步驟:

1.       /usr/local/freeswitch/conf/directory/default/添加xml用戶文件,拷貝此目錄下其中一個即可,然後再稍作改動。

[root@openser-devdefault]# cp 1000.xml  1111.xml

把1111.xml 中的1000都改成1111,密碼爲全局密碼(vars.xml中配置)1234

2.       修改dialplan;freeswitch對註冊到自己的用戶的dialplan爲cconf/dialplan/default.xml中的Local_Extension部分,

把1111添加到匹配中。

^(10[01][0-9]|1111)$

<conditionfield="destination_number" expression="^(10[01][0-9]|1111)$">

3.       重新加載配置 reloadxml,註冊,呼叫 1111

採用多group的一個好處是可以讓freeswitch呼叫一組內用戶,比如在conf/directory/default.xml裏添加sales組,然後再裏面添加1001,1002,1003用戶,然後再dialplan裏添加

<extension name="group_dial_sales">

<conditionfield="destination_number"expression="^2000$">

<actionapplication="bridge"data="group/sales@${domain_name}"/>

</condition>

</extension>

當用戶撥打2000時,freeswitch會同時呼叫salses組裏的所有用戶,一旦第一個用戶應答,停止呼叫其他用戶,這與asterisk或者其他pbx裏面的隊列呼叫策略類似,asteirsk中叫ringall.

也可以在控制檯用group_call命令呼叫一個組,這裏爲group_call salses.
————————————————
版權聲明:本文爲CSDN博主「voipmaker」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/voipmaker/article/details/7893264

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章