1

我正在使用 linphone android。当我在 ipv6 中订阅我的 Freeswitch 服务器时,它会以紧凑的标头(https://www.cs.columbia.edu/sip/compact.html)回复。

在我的应用程序日志中显示“传入订阅中没有事件标头”并回复 400 Bad Request

当“事件”标题转换为“o”时,我发现了这种行为

我在 message.c 中得到了一个名为“expand_name”的方法,它描述了紧凑标头映射,但我找不到在什么条件下调用它

所以我的问题是:liblinphone 是否支持紧凑的标头?如果是,那么如何启用此功能?

让我附上我的资料包以供参考。

NOTIFY sip: 
[2405:205:C92B:4DA4:CD75:7761:F807:892B]:47880;transport=udp;pb- 
pt=47880 SIP/2.0
Record-Route: <sip:[****:****:*:*:*:*:*:**];r2=on;lr>
Record-Route: <sip:***.***.***.***;r2=on;lr>
Via: SIP/2.0/UDP
[2607:F900:1:1:0:0:0:10];branch=z9hG4bK966c.e48cd18cfad7a93f173d651fac1bb56d.0
v:SIP/2.0/UDP 10.100.147.205:5071;received=10.100.147.205;rport=5071;branch=z9hG4bK3ptDHry599DXK
Max-Forwards:70
f:sip:address@hidden;tag=0KWo7fUeCNnU
t:<sip:address@hidden>;tag=TzUqiY4Tw
i:RAi8DkMzBE
CSeq:550422005 NOTIFY
m:sip:address@hidden:5071
User-Agent:FreeSWITCH-mod_sofia/1.6.17~64bit
Supported: path, replaces
o:presence
Subscription-State:active;expires=300
c:application/pidf+xml
l:440
<?xml version="1.0" encoding="ISO-8859-1"?>
<presence xmlns='urn:ietf:params:xml:ns:pidf'
xmlns:dm='urn:ietf:params:xml:ns:pidf:data-model'
xmlns:rpid='urn:ietf:params:xml:ns:pidf:rpid'
xmlns:c='urn:ietf:params:xml:ns:pidf:cipid' entity='sip:address@hidden'>
 <tuple id='t6a5ed77e'>
  <status>
   <basic>open</basic>
  </status>
 </tuple>
 <dm:person id='p06360c4a'>
  <dm:note>Available</dm:note>
 </dm:person>
</presence>
4

1 回答 1

0

Liblinphone可以读取带有紧凑标头字段的 SIP 数据包,但不能创建和发送此类数据包。

我知道这一点,因为我有同样的问题,我向www.belledonne-communications.com (Linphone 背后的公司)发送了一封电子邮件,他们告诉了我。如果您想在使用 UDP 作为传输时使用 SIP 紧凑标头来减小 SIP 数据包大小,则在 Linphone 中(至少目前)不是一个选项,因为它是单向的。更好的解决方案是在 Linphone 中为此使用 TCP。

于 2018-06-22T16:58:44.540 回答