1、多租戶的企業(yè)通信運營解決方案中,不同的企業(yè)都通過不同的域名來加以區(qū)分,軟交換通過不同的域名對其分機(jī)用戶進(jìn)行不同的業(yè)務(wù)路由。這樣,分機(jī)用戶在進(jìn)行呼叫時,就可以輕松實現(xiàn)多租戶的呼叫路由。當(dāng)然,這僅是多租戶設(shè)置的最基礎(chǔ)的設(shè)置,多租戶的解決方案遠(yuǎn)遠(yuǎn)不是一個分機(jī)多租戶就可以實現(xiàn)的。
2、在開源軟交換平臺中,實現(xiàn)多租戶的分機(jī)配置需要經(jīng)過方面的設(shè)置。首先,需要創(chuàng)建一個企業(yè)域名,然后配置多租戶方式路由的腳本文件,最后,用戶添加多租戶賬號。具體的設(shè)置步驟如下:
首先,通過CTL命令添加多租戶域名:opensipsctl domain add your-ip-addres。此IP地址就是企業(yè)多租戶的IP地址,用戶注冊時使用此域名。
然后,加載domain.so 模塊,注冊域名注冊方式:
- loadmodule "domain.so"
- loadmodule "domain.so"
- modparam("uri|auth_db|usrloc", "use_domain", 1)
最后,使用多域名方式配置,修改cfg配置文件為:
- if (!(method=="REGISTER") {
- if(is_from_local()) /*multidomain version*/
- if (!is_uri_host_local())
配置完成后,重新加載cfg文件,就可以實現(xiàn)多租戶配置方式。注意,這里的domain是保存在數(shù)據(jù)庫的domain表單中,所以必須先創(chuàng)建一個域名。
啟動系統(tǒng)以后,用戶可以使用不同的域名對軟交換進(jìn)行注冊,例如,你可以使用同一分機(jī)號碼,但是兩個domain 值進(jìn)行注冊測試,例如1000@hiastar.com, 和1000@freepbx.cn 兩個域名進(jìn)行注冊測試。
3、Aliases(別名) 是一個非常常見的使用方式,有時,我們需要對呼入的DID進(jìn)行管理,可以使用一個DID號碼對應(yīng)一個別名對其呼叫進(jìn)行管理。最簡單的使用方式相當(dāng)于一個DID匹配。顧名思義,就是呼入的DID號碼可以直接匹配一個公司的內(nèi)部分機(jī)號碼,這樣外部客戶呼入到系統(tǒng)以后,可以直接呼叫到公司內(nèi)部某一個分機(jī)號碼。為了實現(xiàn)這個功能,我們可以使用別名的方式來進(jìn)行匹配管理。實現(xiàn)此功能大概需要以下幾個步驟:
- 首先,在cfg配置文件中需要添加別名管理的模塊,alias.so。
- loadmodule "alias_db.so"
- # ----- alias_db 相應(yīng)的參數(shù)設(shè)置
- modparam("alias_db", "db_url",
- "mysql://opensips:opensipsrw@localhost/opensips") // 注意,數(shù)據(jù)庫用戶名稱和密碼設(shè)置。
- alias_db_lookup("dbaliases"); // 開啟數(shù)據(jù)庫支持。
- opensipsctl alias_db add 18665301040@youripordomain 1000@youripordomain
- 這里,要注意,DID是18665301040。如果用戶撥打此DID號碼,就會轉(zhuǎn)接到分機(jī)1000。
最后,重新加載cfg配置文件,其他用戶就可以通過呼叫以上DID號碼實現(xiàn)分機(jī)別名測試。當(dāng)然,外部用戶如果撥打了以上DID號碼,系統(tǒng)也可以直接路由到分機(jī)1000。
4、在本章節(jié)中,我們介紹了兩種kamailio/opensips 使用域名注冊和別名設(shè)置主要方法,同時筆者也介紹了在配置文件中需要加載的模塊和其相應(yīng)的cfg配置設(shè)置。通過軟交換的多租戶設(shè)置和別名設(shè)置可以輕松實現(xiàn)多租戶管理和DID路由功能,以上兩種功能也是一個完整的企業(yè)通信運營平臺解決方案必須支持的功能。