我们是做VoIP终端的,最近两条ADSL线全部给电信盯上了。采用SIP(RFC 3261)协议的通话全部受到电信路由器的干扰,估计又是前面说的科技进步奖的一个部分,电信在路由器上假扮服务器的IP地址向我们发送486 Do Not Disturb、CANCEL、BYE等会影响正常通话的信令:
SIP/2.0 486 Do Not Disturb
Via: SIP/2.0/UDP 192.168.2.108;rport;branch=z9hG4bK963861472
From: ;tag=761754553
To: ;tag=323e12a
Call-ID: 691132699@192.168.2.108
CSeq: 4 INVITE
User-Agent: RTC/1.2
Server: SJLabs-SJPhone/1.0
Content-Length: 0
BYE sip:6267475@xxxx.yyy SIP/2.0
Via: SIP/2.0/UDP aaa.bbb.ccc.ddd;branch=z9hG4bKc463.e7787875.0
From: ;tag=728375504
To: ;tag=1158387536
Call-ID: 1215955831@192.168.2.108
CSeq: 2 BYE
User-Agent: RTC/1.2
Content-Length: 0
CANCEL sip:6267475@xxxx.yyy SIP/2.0
Via: SIP/2.0/UDP aaa.bbb.ccc.ddd;branch=z9hG4bKc463.e7787875.0
From: ;tag=728375504
To: ;tag=1158387536
Call-ID: 1215955831@192.168.2.108
CSeq: 1 CANCEL
User-Agent: RTC/1.2
Server: SJLabs-SJPhone/1.0
Content-Length: 0
看来确实花了不少功夫的,里面的各种标识通话的ID全部都正确,只是User-Agent和Server项都是固定的。拜托,做戏要做全套,把这两个域都给做足了,我们就没办法了,也发现不了。目前在申请网通的上网线路,或者连VPN到香港,从香港出去算了,反正我们也是测试产品而已,最终用户都是国外的,不用受中国电信的气。暂时只能用以下的正则表达式过滤电信的发过来的干扰信息,通话一切正常,哈哈。
“486 *[Dd][Oo] *[Nn][Oo][Tt] *[Dd][Ii][Ss][Tt][Uu][Rr][Bb]”
“.*[Uu][Ss][Ee][Rr]-[Aa][Gg][Ee][Nn][Tt].*RTC/1.2”
“.*[Ss][Ee][Rr][Vv][Ee][Rr].*SJLabs-SJPhone/1.0”
“[Cc][Aa][Nn][Cc][Ee][Ll]”
“.*[Uu][Ss][Ee][Rr]-[Aa][Gg][Ee][Nn][Tt].*RTC/1.2”
“.*[Ss][Ee][Rr][Vv][Ee][Rr].*SJLabs-SJPhone/1.0”
“[Bb][Yy][Ee]”
“.*[Uu][Ss][Ee][Rr]-[Aa][Gg][Ee][Nn][Tt].*RTC/1.2”