當前位置:首頁 » 操作系統 » freeswitch源碼

freeswitch源碼

發布時間: 2023-09-07 08:27:27

『壹』 如何在xshell5中編譯freeswitch源代碼

(1)使用安裝包安裝

Windows用戶可以直接下載安裝文件,然後根據自己的系統選擇不同目錄,32位系統的用戶選擇x86目錄,64位系統的用戶選擇x64目錄。freeswitch.msi是最新的安裝程序,一般隔幾天就會更新一次版本。筆者的測試環境是32位的Windows XP,下載界面如圖3-3所示

如同安裝其他程序一樣,我們全部選擇默認設置即可,也就是說只要連續單擊「Next」按鈕就能安裝完畢。安裝完成後選擇」開始菜單」→「所有程序」→「FreeSWITCH」→ 「FreeSWITCH」便可以啟動FreeSWITCH了,啟動後的界面如圖3-4所示。

如果安裝過程中你沒有修改默認安裝路徑的話,那麼FreeSWITCH的實際安裝路徑是:c:\Program Files\FreeSWITCH,配置文件在該目錄的conf目錄下

(2)從源代碼安裝

如果從源代碼安裝,則首先要下載源代碼。

除此之外,也可以Git倉庫獲取源代碼。Git是FreeSWITCH使用的版本控制工具,從Git倉庫獲取源代碼的好處是可以隨時更新,並可以很方便地切換到不同的代碼分支,甚至「倒回」到任意提交點。

如果從Git倉庫獲取源代碼,需要先在Windows上安裝Git。

安裝Git很簡單,一般來說雙擊安裝文件並連續單擊「Next」按鈕即可安裝完畢。不過,在Windows平台編譯FreeSWITCH有幾個要注意的事情,因此在安裝Git的過程中我們也需要注意以下問題,並做適當的選擇:

將FreeSWITCH的源代碼放到一個「干凈」的目錄下。為避免有時候遇到奇怪的問題,最好把代碼放到一個比較不容易出問題的目錄下,如可以放到
C:\src\freeswitch 或D:\src\freeswitch下,這兩個都是比較好的目錄。而像 C:\My
Documents(有空格)或C:\源代碼中文目錄\freeswitch(有中文)之類的則在編譯或使用時可能會有問題。

『貳』 CentOS7下FreeSwitch1.8源碼安裝過程完整記錄

1、yum 安裝相關的依賴包

yum install -y git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtiff-devel libtheora-devel libtool libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python26-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel libuuid-devel which yasm zlib-devel

2、安裝 mod_shout 模塊以支持 mp3 格式

yum install -y libshout-devel lame-devel libmpg123-devel

wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz

tar -zxvf lame-3.99.5.tar.gz

cd lame-3.99.5

./configure --enable-static --enable-shared

make

make install

vi /etc/ld.so.conf

#換行加入:/usr/local/lib

#保存退出 :wq

ldconfig

3、安裝 cmake

yum remove cmake

wget https://cmake.org/files/v3.14/cmake-3.14.0.tar.gz

tar vzxf cmake-3.14.0.tar.gz

cd cmake-3.14.0

./configure

make

make install

4、 安裝 libks

yum install libatomic

git clone https://github.com/signalwire/libks.git

cd libks

cmake .

make

make install

5、安裝 signalwire-c

git clone https://github.com/signalwire/signalwire-c.git

cd signalwire-c/

cmake .

make

make install

ln -sf

/usr/local/lib64/pkgconfig/signalwire_client.pc

/usr/lib64/pkgconfig/signalwire_client.pc

6、下載並安裝 freeswitch1.8

如下 git 為國內址,速度較快,也可以從官方下載源碼

git clone -b v1.8 https://git.oschina.net/nwaycn/freeswitch.git

./bootstrap.sh -j

./configure --enable-portable-binary

--prefix=/usr/local/freeswitch

--with-gnu-ld --with-python --with-openssl

--enable-core-odbc-support --enable-zrtp

--enable-libmp3lame

make

make -j install

如下安裝語音文件,用時會較長

make -j cd-sounds-install

make -j cd-moh-install

7、安裝後的一些操作

設置全局命令軟連接

ln -sf /usr/local/freeswitch/bin/freeswitch /usr/bin/

ln -sf /usr/local/freeswitch/bin/fs_cli /usr/bin/

禁用 freeswitch 上 ipv6

mv external-ipv6.xml external-ipv6.xml.inactive

mv internal-ipv6.xml internal-ipv6.xml.inactive

8、啟動 freeswitch

freeswitch -nc #後台啟動

freeswitch 常用命令

#列出 internal SIP Profile 的狀態

sofia status profile internal

#列出某個 Profile 上所有已注冊用戶

sofia status profile internal reg

#過濾某些符合條件

sofia status profile internal reg 1000

sofia status profile internal user 1000

#列出網關狀態

sofia status gateway gw1

#以上命令都可以將 status 用 xmlstatus 來代替,以列出 XML 格式的狀態,這樣比較容易用

於其他程序解析

#啟動、停止、重啟某個 Profile 的命令

sofia profile internal start #啟動

sofia profile internal stop #停止

sofia profile internal restart #重啟

#有時候修改了某個 Profile 的某個參數,不需要重啟(重啟是影響通話的),可以使用下列

命令讓 FreeSWITCH 重讀 sofia 的配置

#注意並不是所有的參數都能生效

sofia profile internal rescan

#添加了一個新的 gateway 以後,也可以使用 rescan 指令讀取

sofia profile external rescan

#如果是修改了一個網關,則可以先刪除該網關,再 rescan

sofia profile external killgw gw1

sofia profile external rescan

#下列命令可以指定某個網關立即向外注冊或注銷

sofia profile external register gw1

sofia profile external unregister

#開啟該 Profile 的 SIP 跟蹤功能抓 SIP 包

sofia profile internal siptrace on

#有時候,希望將已經注冊的用戶清理掉,可以使用如下命令,注意此命令只是臨時清理,

客戶端重新注冊的話還是可以注冊成功的

sofia profile internal flush_inbound_reg [email protected]

#也可以根據 call-id 來清理

sofia profile internal reg 1000 #通過此命令查找到 call-id 的值

sofia profile flush_inbound_reg zsfsdfhdfgdfsdfsdfsdfsdf #清除 call-id=zsfsdfhdfgdfsdfsdfsdfsdf 的用戶

『叄』 frfreeswitch 怎麼通過c修改.xml

什麼是 FreeSWITCH ?

FreeSWITCH 是一個開源的電話交換平台,它具有很強的可伸縮性--從一個簡單的軟電話客戶端到運營商級的軟交換設備幾乎無所不能。能原生地運行於Windows、 Max OS X、linux、BSD 及 solaris 等諸多32/64位平台。可以用作一個簡單的交換引擎、一個PBX,一個媒體網關或媒體支持IVR的伺服器等。它支持SIP、H323、Skype、Google Talk等協議,並能很容易地與各種開源的PBX系統如sipXecs、Call Weaver、Bayonne、YATE及Asterisk等通信。 FreeSWITCH 遵循RFC並支持很多高級的SIP特性,如 presence、BLF、SLA以及TCP、TLS和sRTP等。它也可以用作一個SBC進行透明的SIP代理(proxy)以支持其它媒體如T.38 等。FreeSWITCH 支持寬頻及窄帶語音編碼,電話會議橋可同時支持8、12、16、24、32及48kHZ的語音. 而在傳統的電話網路中,要做到三方通話或多方通話需要通過專門的晶元來處理,其它像預付費,彩鈴等業務在PSTN網路中都需要依靠智能網(IN)才能實現,而且配置起來相當不靈活。

快速體驗

FreeSWITCH 的功能確實非常豐富和強大,在進一步學習之前我們先來做一個完整的體驗。FreeSWITCH 默認的配置是一個SOHO PBX(家用電話小交換機),那麼我們本章的目標就是從0安裝,實現分機互撥電話,測試各種功能,並通過添加一個SIP-PSTN網關撥打PSTN電話。這樣,即使你沒有任何使用經驗,你也應該能順利走完本章,從而建立一個直接的認識。在體驗過程中,你會遇到一點稍微復雜的配置,如果不能完全理解,也不用擔心,我們在後面會詳細的介紹。當然,如果你是一個很有經驗的 FreeSWITCH 用戶,那麼大可跳過本章。

安裝FreeSWITCH基本系統

在本文寫作時,最新的版本1.0.5pre10,但說不定當你讀到時1.0.5正式版已經發布了。FreeSWITCH支持32位及64位的 Linux、 MacOSX、BSD、Solaris、Windows等眾多平台。某些平台上有編譯好的安裝包,但本人強烈建議從源代碼進行安裝,因為 FreeSWITCH 更新非常快,而已編譯好的版本通常都比較舊。你可以下載源碼包,也可以直接從SVN倉庫中取得最新的代碼。與其它項目不同的是,其SVN主幹 (trunk)代碼通常比穩定的發布版更穩定。而且,當你需要技術支持時,開發人員也通常建議你先升級到SVN中最新的代碼,再看是不是仍有問題。

Windows用戶可以直接下載安裝文件 (再提醒一下,版本比較舊代,如果從源代碼安裝的話,需要Visual Studio 2008)。安裝完成執行 c:\freeswitch\freeswitch.exe 便可啟動,其配置文件都在c:\freeswitch\conf\。

以下假定你使用 Linux 平台,並假定你有 Linux 的基本知識。如何從頭安裝 Linux 超出了本書的范圍,而且,你也可以很容易的從網上找到這些資料。一般來說,任何發行套件都是可以的,但是,有些發行套件的內核、文件系統、編譯環境,LibC 版本會有一些問題。所以,如果你在遇到問題後想獲得社區支持,最好選擇一種大家都熟悉的發行套件。FreeSWITCH 開發者使用的平台是 CentOS 5.2/5.3(CentOS 5.4 上會有一些問題,並不總是版本越高越好),社區中也有許多人在使用 Ubuntu 和 Debian,如果你想用於生產環境,建議使用 LTS(Long Term Support) 的版本,即 Ubuntu8.04/10.04 或 Debian Stable。在安裝之前,我們需要先准備一些環境(FreeSWITCH 可以以普通用戶許可權運行,但為了簡單起見,以下所有操作均用 root 執行):

CentOS:

yum install -y subversion autoconf automake libtool gcc-c++ ncurses-devel make

Ubuntu:

apt-get -y install build-essential subversion automake autoconf wget libtool libncurses5-dev

以下三種安裝方式任選其一,默認安裝位置在/usr/local/freeswitch。安裝過程中會下載源代碼目錄,請保留,以便以後升級及安裝配置其它組件。

『肆』 linux 中freeswitch 已經啟動了但是忘記下載語音包了,還能下嗎怎麼下centos

可以的
你先停止freeswitch,然後安裝
至於怎麼安裝要看你用什麼系統,然後去freeswitch中文站下源碼包,然後編譯安裝

熱點內容
c語言小數點後四捨五入 發布:2025-01-31 11:10:10 瀏覽:496
httpslinux 發布:2025-01-31 11:10:09 瀏覽:828
java4 發布:2025-01-31 11:08:42 瀏覽:355
什麼是密碼屏蔽 發布:2025-01-31 11:05:13 瀏覽:216
一個演算法的效率可分為 發布:2025-01-31 11:05:12 瀏覽:639
win7用戶名密碼是什麼 發布:2025-01-31 10:57:38 瀏覽:394
網址埠訪問 發布:2025-01-31 10:49:30 瀏覽:512
javaweb代碼 發布:2025-01-31 10:37:54 瀏覽:259
sqlserver合並 發布:2025-01-31 10:22:27 瀏覽:712
大理伺服器地址 發布:2025-01-31 10:10:52 瀏覽:972