【问题标题】:PJSIP - Pjsua2 android: How to add headers while calling?PJSIP - Pjsua2 android:如何在调用时添加标头?
【发布时间】:2016-08-05 14:27:06
【问题描述】:

以下是我的 pjsip 调用源代码 -

    String buddy_uri = item.get("uri");

    SipHeaderVector sipHeaderVector = new SipHeaderVector(2);

    SipHeader sipHeader1 = new SipHeader();
    sipHeader1.setHName("Header1");
    sipHeader1.setHValue("Value1");

    SipHeader sipHeader2 = new SipHeader();
    sipHeader.setHName("Header2");
    sipHeader.setHValue("Value2");

    sipHeaderVector.set(0,sipHeader1);
    sipHeaderVector.set(1,sipHeader2);

    MyCall call = new MyCall(account, -1);

    CallOpParam prm = new CallOpParam(true);

    SipTxOption sipTxOption = new SipTxOption();
    sipTxOption.setHeaders(sipHeaderVector);
    prm.setTxOption(sipTxOption);

    try {
    call.makeCall(buddy_uri, prm);
} catch (Exception e) {
    call.delete();
    return;
}

以上是通过传递自定义标头进行 PJSIP 调用的代码。不幸的是,身份验证失败,因为请求中似乎没有标头值。

上面的代码对于传递自定义标头及其各自的值是否正确,遵循 pjsua 提供的所有 C++ 文档以传递标头,但似乎未建立调用并要求服务器上需要一些引脚以通过标头进行身份验证。

有人可以帮忙吗???

【问题讨论】:

    标签: android sip pjsip sip-server


    【解决方案1】:

    我没有使用SipTxOption 来传递参数。这是我的工作示例:

        CallOpParam prm = new CallOpParam(true);
        SipHeaderVector shv = new SipHeaderVector();
        SipHeader sh = new SipHeader();
        sh.setHName("headerName");
        sh.setHValue("headerValue");
    
        // add the sip header to the vector
        shv.add(sh);        
    
        // set headers to the parameter object 
        prm.getTxOption().setHeaders(shv);
    
        // make call using the desired parameters
        try {
            call.makeCall(buddy_uri, prm);
        } catch (Exception e) {
            call.delete();
            return;
        }
    

    但为了让SipHeaders 成为另一方,您必须编辑extensions_macro.conf 以转发自定义标头。您可以通过编写来完成此操作:

      exten => s,n,SIPAddHeader(headerName: ${SIP_HEADER(headerName)})
    

    您还可以查看this 线程以获取其他说明。

    希望对你有帮助。

    【讨论】:

    • 我可以确认这可行...不要忘记第二部分...否则标头确实会到达 sip 服务器,但很可能不会传递给目标。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多