Freeswitch配置SIP閘道器撥打外部電話

2021-10-06 08:50:29 字數 1979 閱讀 7687

一、對接方式

freeswitch裡gateway(閘道器)的概念。閘道器又稱協議轉換器,通常都是進行協議轉換。這裡說的閘道器指的是語音閘道器,如常用的sip閘道器,負責sip協議和七号信令或isdn pri(模擬訊號)之間的轉換。freeswitch中的閘道器可以理解成乙個sip**。通過sip**連線語音閘道器裝置或系統,將sip轉換成模擬訊號。簡化一下過程, freeswitch完成號碼的落地工作

其簡化後的過程大致如下:

opensips —-> freeswictch —-> 語音閘道器 —-> 運營商 —-> 手機或固話

對接的最終目的都是為了將通話轉到閘道器上。按照對接方式,分成認證和非認證。非認證又稱ip對接,或者sip中繼對接。簡單理解認證方式就是,freeswitch無法隨意的將呼叫送到閘道器上,需要經過閘道器的認證。非認證方式,只要知道閘道器位址,大家都可以發起invite。

註冊的sip伺服器

通常sip終端都需要註冊到某台sip伺服器上(就像手機要連線到基站),以實現撥出和呼入的功能

註冊在opensips上的sip終端發起的呼叫請求將傳送到opensips,opensips根據路由指令碼配置使用load_balancer(負載均衡)模組或dispatcher(排程模組)將呼叫請求**到其他sip伺服器或閘道器上。反之當sip伺服器或閘道器呼叫註冊在opensips上的終端時,會呼入到opensips(只有opensips有被叫sip終端的aor資訊),然後opensips再呼叫sip終端。這是就是乙個典型的註冊伺服器。

配置資訊

中繼配置

conf\sip_profiles\external

二、配置外呼

首先你要有某個運營商提供的sip賬號,該sip賬號(或提供該賬號的裝置)在 freeswitch 中稱為sip閘道器(gateway)。新增乙個閘道器只需要在conf/sip_profiles/external/中建立乙個xml檔案:內容是:sip伺服器位址,可以是ip或ip:埠號  sip使用者名稱   密碼

重啟fs,使修改生效

或者指令freeswitch>sofia profile external rescan

顯示一下閘道器的註冊狀態:

freeswitch> sofia status
如果顯示 gateway gw1 的狀態是 reged,則表明已正確地註冊到了閘道器上。你可以先用命令試一下閘道器是否工作正常:

freeswitch> originate sofia/gateway/gw1/****** &echo
3.5.1 從某一分機上呼出

修改撥號計畫,建立乙個新的xml檔案— conf/dialplan/default/call_out.xml,內容如下:

其中,「^0(d+)$」為正規表示式,「(d+)」匹配 0 後面的所有數字並存到變數$1中。然後通過bridge程式通過閘道器gw1打出該號碼。當然,建立該xml後需要在控制台中執行reloadxml使之生效

3.5.2 呼入**處理

建立以下xml檔案並放到 conf/dialplan/public/my_did.xml中:

在freeswitch中執行reloadxml使之生效。上述配置會將來話直接轉接到分機 1000 上

4、總結:

freeswitch的外呼場景主要通過配置閘道器註冊、撥號計畫來實現,實際上外呼中的呼叫、轉接、會議都要用到這兩個技術

閘道器如果在同一網段或者閘道器在freeswitch的外網的話(實際上就是說freeswitch可以直接訪問到閘道器),就採用freeswitch註冊到閘道器或者指向閘道器的方式,這也是常用的方式。 如果閘道器在內網,而freeswitch在外網的話,就只能採用內網閘道器註冊到freeswitch的方式。

Freeswitch連線SIP電話

本篇主要介紹如何用freeswitch連線sip freeshswitch最典型的應用是作為乙個伺服器 背靠背的使用者 並用 客戶端軟體 一般叫軟 連線到它。可以通過如下命令看下埠占用情況 freeswitch 預設配置了1000 1019共20個使用者,你可以隨便選擇乙個使用者進行配置。注意 密碼...

freeswitch對接其它SIP裝置

這幾天用到freeswitch對接其它裝置方面的知識,這裡整理下,也方便我以後查閱。freeswitch作為被叫裝置和其它裝置對接的情況比較簡單,可以直接通過5080埠呼入。freeswitch預設配置預設開啟5080埠的對接 conf dialplan public.xml中關於public ex...

FreeSWITCH使用MySQL配置

freeswith預設使用sqlite作為資料庫,但是很多時候我們需要使用mysql等資料庫作為伺服器資料庫使用。這裡以mysql為例介紹相關配置 yum install mysql connector odbc.x86 64 unixodbc devel.x86 64vim etc odbc.in...