若是將FreeSWITCH用於雲端, 支持大規模併發呼叫, 就要用到 多域/多租戶 技術了, FreeSWITCH 自己能夠直接支持.併發
每一個域能夠單獨, 擁有相同的分機號也互相打不通, 各自線路, IVR , 路由等不相同.dom
配置方式以下:ide
<X-PRE-PROCESS cmd="set" data="domain=$${local_ip_v4}" /> <X-PRE-PROCESS cmd="set" data="domain_name=$${domain}" />
這裏配置了 默認 domain(名字), 啓用域(多租戶)以後就沒什麼用啦.測試
<!--all inbound reg will look in this domain for the users --> <param name="force-register-domain" value="$${domain}"/> <!--force the domain in subscriptions to this value --> <param name="force-subscription-domain" value="$${domain}"/> <!--all inbound reg will stored in the db using this domain --> <param name="force-register-db-domain" value="$${domain}"/>
三個 強制參數, 註釋掉, 重啓該 profile.this
<能夠創建多個 profile>spa
<include> <!--the domain or ip (the right hand side of the @ in the addr--> <domain name="$${domain}">
這個 domain 指定了 此用戶目錄配置適用於哪一個 domain(名字) (默認$${domain}是vars.xml中配置的)code
能夠創建多個 domain 的配置(如 複製多份,每份各自配置domain_name),
這樣 就有了多個域了(name 配置成指定的 domain_name)
多個域,最好每一個域都有各自的用戶目錄及用戶配置(主要是有各自的用戶配置)
相應的,用戶配置的加載也要改:xml
<users> <X-PRE-PROCESS cmd="include" data="default/*.xml"/> </users>
<另,要讓各自域中的用戶使用(各自)單獨的 Dialplan 進行路由,還要改用戶配置中的 user_context 參數>blog
要讓各自域中的用戶使用(各自)單獨的 Dialplan 進行路由,還要改用戶配置中的 user_context 參數ip
<variables> <variable name="user_context" value="default"/>
<這時候,就要相應的 增長 路由了, 不然沒有路由, 也是打不通的>
<include> <context name="default">
複製這個dialplan,並更改 context_name , 與用戶配置中設置的相對應
必須使用完整形式: `user/1000@${domain_name}`
在使用 會議, fifo 等應用時,也要寫完整形式,
即: 啓用域(多租戶)以後,撥打用戶就要寫完整(帶域名)的了,否則就找不到用戶了