查看“FreePBX 12以上的SIP语音问题”的源代码
←
FreePBX 12以上的SIP语音问题
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:用户
您可以查看并复制此页面的源代码:
'''关于SIP语音问题相关介绍''' '''NAT issues''' VoIP 最大的问题就是通常人们说的单通问题,或者几秒钟以后就掉线的问题。这些问题通常就是NAT配置不当导致。 '''Make sure you have a resolvable address on the Internet.''' 如果用户没有购买静态IP地址的话,,用户可能经常会修改IP地址。建议设置一个动态的DNS服务。 '''Adding NAT information in FreePBX ''' 在高级配置菜单,点击 Asterisk SIP settings http://wiki.freepbx.org/download/attachments/24051965/SipRightMenu.png 然后点击SIP 配置 右边菜单支持的是 FreePBX 12。 FreePBX 11 以下版本是主界面配置 Set NAT as yes '''Static IP from your ISP ''' 选择"Static IP" ,输入外部IP地址 http://wiki.freepbx.org/download/attachments/24051965/settings_nat_static.png '''Dynamic IP Updated through dynamic IP service''' 选择 "Dynamic IP" ,输入主机名称全称,例如"<nowiki>foo.dyndns.net</nowiki>" http://wiki.freepbx.org/download/attachments/24051965/settings_nat_dynamic.png 完成配置以后,要点击 "submit" 和点击"APPLY" 按钮。 '''Local Networks''' 在 "NAT"下,用户会看到一个勾选值 "Local Networks"。 这里输入内网IP地址和子网地址。 如果用户内网地址是192.168.0.254,那么需要设置为192.168.0.0 / 255.255.255.0 http://wiki.freepbx.org/download/attachments/24051965/settings_nat_localnet.png 点击提交,然后点击''APPLY Config'' '''RTP Port Range''' '''Open the SIP and RTP ports to your Asterisk server''' 用户必须确认开启了正确的端口,检查防火墙UDP端口设置,设置转发端口到用户的Asterisk端口。 对于SIP协议,用户需要开启UDP(不是TCP) 端口5060 (SIP) ,并且开启端口 10000-20000 来传输语音(RTP 在系统文件/etc/asterisk<nowiki>/rtp.co</nowiki>nf中定义)。 所有这些端口都是UDP端口,开启TCP不会对NAT有任何帮助。 配置防火墙时,用户可能还要打开 UDP port 4569 (IAX),用户有时可以通过IAX连接到asterisk服务器。 用户可以看到实际开启的端口 http://wiki.freepbx.org/download/attachments/24051965/RTPSettings.png 如果实例的端口和本地应用有什么不同,用户需要检查自己的防火墙和相应的实际端口配置。 用户可能需要开启端口从10001开始,10000端口可能和Webmin端口冲突。如果没有安装Webmin则无需担心冲突。 '''语音编码不匹配或者不能转码''' 语音编码问题也是导致SIP语音质量问题的关键。当双方建立呼叫时,双方必须确认两者使用的编码。如果一方使用ulaw, 另外一方使用其他编码,那么不会继续通信。 这就是为什么我们推荐初级用户使用 ulaw (也称之为g.711u) 和alaw (也称之为g.711a) 。 通常有五个地方需要指定语音编码: * 终端或者ATA 配置语音编码。 * 在FreePBX中配置了语音编码,但是大部分情况下,为空值。 * 在FreePBX 的中继 使用了 allow= 赋值和 disallow=all。 如果忽略了那些设置,则使用默认的设置,在 <nowiki>sip.co</nowiki>nf 和 <nowiki>iax.co</nowiki>nf 。 * 在 Asterisk SIP Settings 中的 "General SIP Settings" 使用了编码。 * 在Asterisk IAX Settings 设置中使用了编码。 http://wiki.freepbx.org/download/attachments/24051965/SipCodecs.png 如果Asterisk支持了设置的语音编码格式,asterisk将执行语音编码格式转换来支持对端的呼叫。 所以,如果中继使用了gsm ,但是分机使用了ulaw, asterisk同样可以允许双方谈话,只要中继设置中支持了gsm。 检测系统支持的语音编码转换,执行Asterisk CLI命令 ''core show translation'' 就可以看到结果。如果两种编码的网格有显示值,那么说明系统支持两种编码之间的转换。 如果显示的值仅是单行,那么说明不支持编码转换,通常情况下是系统没有安装此编码格式。 '''文件丢失或者文件路径不对''' 如果呼叫进入IVR 或者语音邮箱,系统播放的语音文件丢失,那么可能是文件播放路径不对。检查路由模块是否导入此文件,或者录音文件是否在正确的路径。 '''语音文件权限不对''' 很多时候,用户直接从其他系统拷贝文件到freepbx 系统,linux环境下,文件权限可能有问题。如果文件权限不对,Asterisk 不会播放此文件,执行以下命令获得权限: ''amportal chown'' 设置Asterisk权限。 '''播放的语音文件格式不正确''' 很多时候,用户创建的语音文件是使用外部语音编辑软件创建的,通过这些软件创建的语音文件可能有比较好的语音质量。但是用户可能没有意识到,Asterisk 对语音文件属性可能有所要求。例如,如果文件是.wav 文件格式,Asterisk 要求支持的是8000 Hz, 16 bit, monaural (a.k.a. 单通道) 格式, 如果用户直接上传一个其他的文件格式,Asterisk CLI 可能看到播放了此文件,但是用户可能听不到播放的语音。如果系统正常的语音文件可以播放,但是用户自己创建的则不能播放,建议检查语音文件格式。 特别是直接拷贝到系统的文件,而不是通过系统录音模块导入的文件。 '''硬件问题''' 同样,如果硬件有问题,也可能导致语音问题。如果安装了语音板卡的话,需要确保语音板卡配置支持了本地配置,错误配置完全可能导致语音问题。
返回至
FreePBX 12以上的SIP语音问题
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
合作伙伴
FreePBX官方
IPPBX软硬件
SIP 终端话机
SBC
语音网关,Sangoma语音板卡
工具
链入页面
相关更改
特殊页面
页面信息