PJsip从sip方法中提取头的值

PJsip从sip方法中提取头的值,sip,pjsip,Sip,Pjsip,我想用连接的字符串check sync提取事件头;reboot=false我必须处理一个自定义头,有点类似于您的情况。这可能对你有帮助 您必须从init\u解析器开始。这里解析SIP消息。在此处添加您自己的自定义函数。在pjsip\u rx\u data中添加一个元素并存储结果。该信息将被传递到下游。最后在这里实现你的东西pres\u process\u rx\u notify你用的是什么语言?您尝试过什么?pjsip\u generic\u string\u hdr没有成员值,这应该是hval

我想用连接的字符串check sync提取事件头;reboot=false

我必须处理一个自定义头,有点类似于您的情况。这可能对你有帮助


您必须从
init\u解析器开始。这里解析SIP消息。在此处添加您自己的自定义函数。在
pjsip\u rx\u data
中添加一个元素并存储结果。该信息将被传递到下游。最后在这里实现你的东西
pres\u process\u rx\u notify

你用的是什么语言?您尝试过什么?pjsip\u generic\u string\u hdr没有成员值,这应该是hvalue。还要注意的是:每个头都有自己的内存布局,因此转换到generic string头可能不适用于特定的头名称(比如,“max forwards”)。以该列表为例
  NOTIFY sip:98901@xx.xx.xx.xx SIP/2.0
    To: sip:98901@xx.xx.xx.xx:1234
    From: sip:sipsak@xx.xx.xx.xx
    CSeq: 1 NOTIFY
    Call-ID:1234
    Event: check-sync;reboot=false
pj_str_t event_hdr_name = pj_str("Event");
pjsip_generic_string_hdr *event_hdr = (pjsip_generic_string_hdr*)pjsip_msg_find_hdr_by_name(message, &event_hdr_name, NULL);
if (event_hdr == NULL)
    return NULL;
pj_str_t event_value = event_hdr->value;`