我正在使用 mss(mobicents sip servlet)构建一个 SIP 应用程序。
P-Charging-Vector具有icid-value和icid-generated-at参数。
根据 rfc3455 和 rfc3261,icid -value和icid -generated-at参数可以采用以下形式:“[”IPv6address“]”。
我正在使用jain-sip-ri 版本 1.2.242并面临两个问题:
1)如果我收到一个带有“[”IPv6address“]”格式的icid值的SIP请求,
例如:
P-Charging-Vector:icid-value=[2a02:ed0:1000:3033::249];orig-ioi=1223abc4;icid-generated-at=[2a02:ed0:1000:3033::249]
我收到以下异常,并且标头被 sip 堆栈删除:
java.text.ParseException: [C@53fad5b4
Expecting >>>;<<< got >>>[<<<
at gov.nist.core.LexerCore.match(LexerCore.java:287)
at gov.nist.javax.sip.parser.ims.PChargingVectorParser.parse(PChargingVectorParser.java:81)
at gov.nist.javax.sip.parser.StringMsgParser.processHeader(StringMsgParser.java:294)
at gov.nist.javax.sip.parser.StringMsgParser.parseSIPMessage(StringMsgParser.java:179)
at gov.nist.javax.sip.stack.UDPMessageChannel.processIncomingDataPacket(UDPMessageChannel.java:357)
at gov.nist.javax.sip.stack.UDPMessageChannel.run(UDPMessageChannel.java:317)
at java.lang.Thread.run(Thread.java:745)
2)如果我尝试使用“[”IPv6address“]”格式的 icid-value 或 icid-generated-at 参数生成 P-Charging-Vector,我会得到相同的 Parse 异常。
似乎这没有遵循 rfc。