1、 在Linux環境下已經安裝了freeswitch,(沒安裝freeswitch,請安裝說明文檔)
2、 進入源代碼目錄 cd libs/esl 目錄下 首先安裝 yum install python-devel
l 首先安裝 python-devel,執行yum install python-devel
l make pymod
l make pymod-install
3、安裝pip工具參照前面的一篇博客
4、安裝swig工具,yum install swig
5、安裝完成pip之后,再安裝python-ESL
執行 pip install python-ESL
腳本:
import ESL
con = ESL.ESLconnection('localhost', '8021', 'ClueCon') #通過ESL與freeswitch建立連接
if con.connected:
con.events('plain', 'CHANNEL_CREATE CHANNEL_ANSWER CHANNEL_PROGRESS CHANNEL_PROGRESS_MEDIA CHANNEL_HANGUP')
while 1:
e = con.recvEvent()
event_name = e.getHeader("Event-Name")
if event_name in ["CHANNEL_CREATE"]:
unique_id = e.getHeader("unique-id")
caller = e.getHeader("Caller-Caller-ID-Number") #主叫 按照事情進行獲取消息字段中的值
callee = e.getHeader("Caller-Destination-Number") #被叫
con.execute("ring_ready", "", unique_id)
elif (event_name in ['SERVER_DISCONNECTED']):
break
里面還有很多函數可以參考 libs/esl 中的例子和源碼