資源描述:
《一個eXosip的例子》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、一個基于exosip的軟電話例子exosip針對UA是對osip進行擴展,oSIP不提供任何快速產(chǎn)生請求消息和響應消息的方法,所有請求消息和響應消息的形成必須調(diào)用一組sipmessageapi來手動組裝完成,所以作者在osip上基礎上開發(fā)了exosip,用exosip開發(fā)軟電話非常方便,僅需幾個API就可以完成.exosip中附帶一個例子:josua,不過josua相對復雜了點,下面給出一個最簡單的例子供大家參考,因為例子實在太簡單所以沒有給出注釋,用到exosip的API的參數(shù)請參看exosip源代碼,看懂這個例子再研究josu
2、a就很簡單了.我使用的是osip2.0.9+exosip0.77.#include"assert.h"#include#include#include#include#includeusingnamespacestd;classjcall;classjcall{public:?intcid;?intdid;??charreason_phrase[50];?int?status_code
3、;??chartextinfo[256];?charreq_uri[256];?charlocal_uri[256];?charremote_uri[256];?charsubject[256];??charremote_sdp_audio_ip[50];?int?remote_sdp_audio_port;?int?payload;?charpayload_name[50];??intstate;??jcall(){}??intbuild(eXosip_event_t*je)?{??jcall*ca=this;????ca->c
4、id=je->cid;??ca->did=je->did;????if(ca->did<1&&ca->cid<1)??{???assert(0);???return-1;/*notenoughinformationforthisevent??*/??}????osip_strncpy(ca->textinfo,??je->textinfo,255);??osip_strncpy(ca->req_uri,???je->req_uri,255);??osip_strncpy(ca->local_uri,?je->local_uri,2
5、55);??osip_strncpy(ca->remote_uri,je->remote_uri,255);??osip_strncpy(ca->subject,???je->subject,255);????if(ca->remote_sdp_audio_ip[0]=='