问题描述:
3CX服务器在外网,内网的方位话机手动注册到3CX服务器,注册成功后,方位话机可以拨打其它3CX分机且可以正常通话,反过来,当其它分机拨打方位话机,方位话机振铃的时候,其它分机没有回铃音,方位话机接听后,其它分机仍然在拨号中。
问题分析:
问题发生的时候,分别在3CX跟方位话机抓包。
在3CX抓包发现:3CX给话机发送invite请求后,一直没有收到话机这边的回复。
在方位话机抓包发现:当话机收到3CX公网地址发送的invite请求后,话机给3CX的内网地址发送响应。
因为方位话机的响应消息,会发送给请求消息里Via字段携带的地址,而invite请求Via字段里的地址是3CX内网地址,导致话机给3CX内网地址发送响应,这样也导致3CX服务器那边一直未收到话机这边的回复。
解决方法:
在话机的配置中,线路-》SIP->高级设定,开启配置兼容特殊服务器的选项,这样话机的响应消息将不发送给请求消息里via携带的地址,而是直接发给sip contact字段里携带的地址。之后,方位话机可以跟3CX其它分机正常通话了。