我正在使用PJSIP客户端来处理VOIP呼叫。当前我有两个服务器设置。
1-test1.myvoipserver.com(仅支持IPv4)
2-test2.myvoipserver.com(仅支持IPv6)
在客户端,我要检查用户IP是否属于IPv4家庭,而不是从支持的test1.myvoipserver.com服务器路由呼叫IPv4。
如果用户IP属于IPv6家庭,我正在路由仅来自支持的test2.myvoipserver.com的呼叫IPv6。
除以下情况外,所有通话均工作正常。
场景:
假设用户有两个可用的Internet连接。
4G-(仅在IPv6上)
Wifi-(仅在IPv4上)
用户在4G上进行了通话,通话被乙方接受,并且媒体数据包可以正常传输。在通话期间,用户已开始移动到可以使用Wifi的位置,他的移动互联网会自动切换到Wifi。那时媒体包将丢失,这是可以理解的。我想断开当前通话,并在IPv4Wifi开启时再次与服务器进行新通话IPv4。
**实际结果**:在Internet从更改为时IPv6,IPv4我强制断开当前通话,但通话并未立即在甲方和乙方断开,因此2分钟后可能会断开(可能是pjsip /服务器发送超时)。
预期结果:甲方和乙方应立即断开通话
我的理解:因为我当前的呼叫在IPv6服务器上,但是我的设备属于新IP,IPv4并且我的当前呼叫服务器不支持IPv4地址,所以这就是为什么从客户端发送再见时,服务器未发送OK / ACK的原因。
注意:PSTN呼叫时会遇到此问题。
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |