我在中国的ATA都是注册到我家里的SipSorcery服务器,一点问题都没有。
网络电话的工作过程是这样的:
ATA先到一个SIP服务器提供自己的IP和端口号,同时得到对方的IP和端口号,然后双方的通话流是直接的IP到IP,所谓IP电话。
前一部分出问题时,ATA会注册不上。可以用一个别的SIP服务器,比如PBXES.ORG,或者自己跑一个SS或MSS等(见我的相关博客),ATA和Sipgate都通过它。或者换一个注册端口(默认是5060)。
后一部分出问题时,ATA可以拨号也可以注册,但是没声音(单向或双向)。原因是在第一部分的时候没有得到或给予对方正确的IP或端口号,所以声音流(RTP packets)都不知道跑到哪里去了。要用NAT mapping和STUN甚至RTP Replay来解决。