2012-12-03 70 views
1

我試圖獲取發送服務器的文本響應後,我讓錶盤獲取短信

我得到的日誌這樣

來源:;標籤= as121b5ca6

到: 「我」;標籤= FP0KRz3fkxBtR6q19Er1ykMXhHCqtqOU

的Call-ID:ltPywl5Qkt5JwdG47.U0K2J.R.YZN0my

的Cseq:103 MESSAGE

的User-Agent:星號PBX 1.6.2.18

內容類型:文本/無格式;字符集= UTF-8

的Content-Length:137

ResultHead = STARS1STARSText = STARS 2764 6053 2778 7089 7541 7156 4997 3457 4438 3666 2246 1307 3666 2246 300 4838 7230 4577 4216 3811 STARS

我想獲取 'ResultHead'

知道我得到很多這樣的消息..是有什麼功能(我肯定有,但我不能看到它)只或至少頭作爲字符串獲取此消息..

我想我需要使用這個功能,但我不知道如何!

static pjsip_rx_data *get_rx_data(pjsip_event *e) 
{ 
    if (e->type == PJSIP_EVENT_RX_MSG) 
    return e->body.rx_msg.rdata; 

    if (e->type == PJSIP_EVENT_TSX_STATE && e->body.tsx_state.type == PJSIP_EVENT_RX_MSG) 
    return e->body.tsx_state.src.rdata; 

// There's no rdata on this eevnt 
    return NULL; 
} 

*我用虹吸管上PJSIP的頂部..thnx 我希望我的問題是清楚的

回答

1

看起來我結束了回答我的問題

,因爲它很難至少它找到答案對我來說..我會希望有人會利用它張貼..

首先你需要創建新的模塊,並進行註冊,

最前一頁創建pjsip_module

pj_bool_t logging_on_rx_msg(pjsip_rx_data *rdata); 

static pj_status_t logging_on_tx_msg(pjsip_tx_data *tdata); 

static pjsip_module my_pjsua_msg_logger = 

{

NULL, NULL,    /* prev, next.  */ 
{ "my_mod-pjsua-log", 13 },  /* Name.  */ 
-1,     /* Id   */ 
PJSIP_MOD_PRIORITY_TRANSPORT_LAYER-1,/* Priority   */ 
NULL,    /* load()  */ 
NULL,    /* start()  */ 
NULL,    /* stop()  */ 
NULL,    /* unload()  */ 
&logging_on_rx_msg,   /* on_rx_request() */ 
&logging_on_rx_msg,   /* on_rx_response() */ 
&logging_on_tx_msg,   /* on_tx_request. */ 
&logging_on_tx_msg,   /* on_tx_response() */ 

NULL,    /* on_tsx_state() */ 

}; 
在sip_connect功能使用

pjsip_endpt_register_module(pjsua_get_pjsip_endpt(), &my_pjsua_msg_logger); 

現在

的reciepient功能的實現

​​
+0

感謝您分享您的回答,可能救了我很一點時間! – ekscrypto