freeswitch调试无法联通问题

1.检查网络

1.1本地防火墙

        这点做过开发一般都比较清楚。检查fireWall,或者iptables。需要注意的是要确保TCP和UDP都要开放;

1.2云服务器出入规则

        云服务器配置出去的规则同时还要配置入的规则。有些新手在发现freeswitch之间已经完成通信,但是ack应答失败,忽略了出 规则。导致看到的表象:408 Request Timeout;汽车还需要注意配置的网段,在建立chanell通道的时候,配置流媒体比如录音会额外使用到一些ip,因此出入规则需要配置接口段。

1.3检查双方acl.xml

        这里有一个注意得点,后面的规则会覆盖前面的规则。因此在实际的配置过程中未了网络通畅一般先配置 deny ,然后在配置allow,加载需要reload生效。

2.错误码

RECOVERY_ON_TIMER_EXPIRE   

媒体超时, 异常

CALLFLOW|2025-04-29 17:46:16.141514|EP2->SERVER|xxxx.226:50601|408equest Timeout|10.0.0.11:5768|
SIP/2.0 408 Request Timeout
Via:SIP/2.0/UDP10.0.0.11:5768;branch=z9hG4bK4015cd4b128295d2;received=xxxxx.237 
Max-Forwards: 69   
From: <sip:18620404374@10.0.0.11>;tag=14e15cff1e64c783 
To: <sip:0453173113xxxx@xxx.226>;tag=ajp0K7c1rU5cm Call-ID: 74fc7c3863616c6c0000004d@10.0.0.11 CSeq: 21600 INVITE 
User-Agent: FreeSWITCH-mod_sofia/1.6.20~64bit 
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY 
Supported: timer, path, replaces 
Allow-Events: talk, hold, conference, refer 
Reason: Q.850;cause=102;text="RECOVERY_ON_TIMER_EXPIRE" 
Content-Length: 0 
Remote-Party-ID: "0453173113xxxx" <sip:0453173xxxx@xxxxx226>;
party=calling;privacy=off;screen=no

        这种表象可能被认为是网络问题,timeout连接超时,因此肯能会被带入端口未开放的坑。可能原因如下:NAT公网地址和内外地址转换失败;编码配置是否一样;多网卡场景切换导致链接无法建立;

正常的流程如下:

[NOTICE] New Channel ... [CS_NEW]  
[INFO] Sending early media  
[NOTICE] Channel ... [CS_EXECUTE]  
[NOTICE] Channel ... [CS_CONSUME_MEDIA]  
[NOTICE] Channel ... [CS_EXCHANGE_MEDIA]  <!-- 媒体流成功建立 -->  
[NOTICE] Channel ... [CS_HANGUP] after 180s  <!-- 正常通话结束 -->  

CALL_REJECTED 

呼叫链接被拒绝

这个其中服务端口是否启用成功;

netstat -tuln 5060 # 查询对应的端口

然后检查北向的返回是否正确,如:

CALLFLOW|2025-04-30 09:21:58.967144|EP2->SERVER|xxx226:50601|403 Forbidden|10.0.0.11:5768|
SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP 10.0.0.11:5768;branch=z9hG4bK26e6f556213fd5b9;received=xxxx.237
Max-Forwards: 69
From: <sip:18620404374@10.0.0.11>;tag=5075b2db09d909be
To: <sip:0453173xxx5@1xxx.226>;tag=Q3ecUm6NKKa6e
Call-ID: 4633958b63616c6c0000000e@10.0.0.11
CSeq: 21600 INVITE
User-Agent: FreeSWITCH-mod_sofia/1.6.20~64bit
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
Supported: timer, path, replaces
Allow-Events: talk, hold, conference, refer
Reason: Q.850;cause=21;text="CALL_REJECTED"
Content-Length: 0
Remote-Party-ID: "04xxx325" <sip:045317xxx5@1xxx.226>;party=calling;privacy=off;screen=no

排查的时候去问有没有对应的话单记录,没有一直认为是哪里配置导致连接被拒。而且使用的几个测试号码都在北线的黑名单里,导致误判。总结:这种大概率是北向线路方错误导致,403 Forbidden这个导致的误判。

这个USER_BUSY 错误码,导致打不通也可能是线路方的问题。

其他常见错误码:

NORMAL_RELEASE    正常释放

NORMAL_CLEARING  双方都由运营商挂断, 正常

USER_BUSY 用户占线繁忙, 正常

NO_ANSWER 呼叫未应答, 正常

NO_USER_RESPONSE   呼叫未应答超时, 正常

NORMAL_TEMPORARY_FAILURE  呼叫线路超时

TIMEOUT   超时(一般是SIP超时)

NO_ROUTE_DESTINATION   呼叫不可达(空号/无法路由)

USER_NOT_REGISTERED  未注册(网关、电话卡)

UNALLOCATED_NUMBER  一般是线路不通, 可能盲区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值