PJSUA2:联系人标题uri长度限制

时间:2019-06-08 14:12:52

标签: android pjsip pjsua2

我正在基于PJSUA2构建具有推送通知支持的android VOIP应用程序。

我需要将推送通知(FCM)令牌作为联系人uri参数发送到服务器(在我的情况下为星号),以便我可以从服务器中使用脚本来检索它并发送通知以唤醒客户端,然后再发送来电请求。

我将参数放在带有的uri参数中

acfg.getSipConfig().setContactUriParams(buildParams(contactParameters));

contactParams是具有参数名称和值的HashMap<String, String>,而buildParams是以下方法:

private String buildParams(Map<String, String> params) {
    StringBuilder builder = new StringBuilder();
    for (String k : params.keySet()) {
        builder.append(';');
        builder.append(k);
        String v = params.get(k);
        if (v != null && v.trim().length() > 0) {
            builder.append("=\"");
            builder.append(v);
            builder.append('\"');
        }
    }
    return builder.toString();
}

没有FCM参数,一切正常,但是

  • 使用以下参数构建联系人uri ;pn-provider="fcm";pn-tok="LONG FCM TOKEN" 使电话在32秒后挂断(请参阅问题PJSUA2 Android - Incoming calls drop after 32 seconds
  • 删除;pn-provider="fcm"可行
  • 仅发送令牌的一部分即可(在pn-tok中与pn-provider参数一起发送)

我认为这可能是“无效字符问题”,但实际上似乎是“最大长度问题”。

是否有Contact头的最大长度或URI的最大长度?如果是,是PJSIP限制还是SIP限制?

0 个答案:

没有答案
相关问题