日期:2014-05-20  浏览次数:20712 次

关于jain sip创建带replaces header的refer请求的问题
这是它的api doc
http://snad.ncsl.nist.gov/proj/iptel/jain-sip-1.2/javadoc/

这是创建unattended transfer即盲转的核心代码
Java code
refer.addHeader(protocolProvider.getHeaderFactory()
            .createReferToHeader(targetAddress));


现在想要实现通话中转接,即attended transfer,应该怎么做呢 现在知道需要添加replace header信息进去以替换
当前二会话者之一

------解决方案--------------------
RFC中有一篇关于transfer的文档 其中7.3节有讲attended transfer
但一些关键的细节并没有阐述详细
http://tools.ietf.org/html/draft-ietf-sipping-cc-transfer-00

关键就是Refer详细Refer-To头replaces参数的构造
特殊字符需转化 而且Call-ID须注意是B C间Dialog的 from-tag是B to-tag是C

Refer-To: <sip:1001@ibm.com?Replaces=faf0207e%2D16ea7889%40132%2E159%2E156%2E188%3Bfrom-tag%3Dbfd387fab0a3d73do0%3Bto-tag%3D107763163%2D1218263873521>