【问题标题】:Installing Freeswitch on Google Cloud VM在 Google Cloud 虚拟机上安装 Freeswitch
【发布时间】:2018-02-24 22:28:09
【问题描述】:

我在 Google Cloud VM 上安装了 Freeswitch (centos7)。这只是一个测试实例。

尚未对配置进行任何更改。

服务器启动正常,但在测试时我无法获得任何音频。 已按照链接打开防火墙:https://freeswitch.org/confluence/display/FREESWITCH/Firewall

freeswitch 日志显示呼入和发出的音频。

有人可以提出任何建议来帮助我解决这个问题吗?

问候 虚拟机

【问题讨论】:

  • 您是否有任何错误或包含相关信息的日志?如果您看到流量正确流动,您怎么知道问题出在测试实例中?
  • 嗨乔迪;感谢您的回复。我卸载并重新安装,这次是在一个新的 Debian 8 实例上。同样的问题;通话似乎通过但没有声音。我肯定已经打开了端口。启动和单个呼叫的日志位于:[pastebin.com/Z9baGfJa]
  • 您的 pastebin 似乎由于某种原因已被删除,其中是否包含一些敏感信息?也许在这里再试一次:paste.ubuntu.com
  • 感谢您指出这一点。链接不起作用的原因是它末尾有一个斜线,并且在那之后评论了方括号。 AFAIK,IP 是唯一的敏感信息,因为它始终用作测试虚拟机。现在已将其粘贴在:[paste.ubuntu.com/p/x5B9fyZmfM]
  • 嗨乔迪;请现在再次检查。最后的方括号导致了这个问题。上面的那个现在可以工作了,因为我在链接的两边都放了一个空格。

标签: google-cloud-platform sip telephony freeswitch sip-server


【解决方案1】:

环顾四周后,似乎在云提供商上运行 Freeswitch 存在一些问题。到目前为止,有关于running it on Amazon EC2 的官方文档,它说它不受官方支持。我会尝试使其适应谷歌云平台,也许这对你有用。

1 - 创建一个 Debian Jesse 8 实例

gcloud compute instances create freeswitch-test --image-family debian-8 --image-project debian-cloud --tags=freeswitch

2 - 创建所需的防火墙规则以打开它需要运行的端口。从文档看起来应该是UPD:16384-32768,TCP:8081-8082,TCP/UDP:5060,UDP:4569,TCP/UDP:8000

 gcloud compute firewall-rules create freeswitch-policy --allow UDP:16384-32768,TCP:8081-8082,TCP:5060,UDP:5060,UDP:4569,TCP:8000,UDP:8000 --source-ranges=0.0.0.0/0 --target-tags=freeswitch

然后你希望 freeswitch 在启动时能够知道它的外部 IP。我认为最好的方法可能是保留一个静态 IP,然后创建一个转发规则:

gcloud compute addresses create freeswitch-ip --region us-east1
gcloud compute target-pools create freeswitch --region us-east1
gcloud compute target-pools add-instances freeswitch --instances freeswitch-test --instances-zone us-east1-b
gcloud compute forwarding-rules create freeswitch-forwarding --address freeswitch-ip --region us-east1 --target-pool   freeswitch

现在在freeswitch上配置静态IP:

conf/vars.xml

<X-PRE-PROCESS cmd="exec-set" data="bind_server_ip=[YOUR-IP]">
<X-PRE-PROCESS cmd="exec-set" data="[YOUR-IP]"/>
<X-PRE-PROCESS cmd="exec-set" data="[YOUR-IP]"/>



conf/sip_profiles/internal.xml

<param name="aggressive-nat-detection" value="true"/>
<param name="multiple-registrations" value="true"/>
<param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
<param name="ext-sip-ip" value="$${external_sip_ip}"/>
<param name="NDLB-received-in-nat-reg-contact" value="true"/>
<param name="NDLB-force-rport" value="true"/>
<param name="NDLB-broken-auth-hash" value="true"/>
<param name="enable-timer" value="false"/>
<param name="auth-calls" value="true"/>


conf/sip_profiles/external.xml


<param name="aggressive-nat-detection" value="true"/>
<param name="ext-rtp-ip" value="$${external_rtp_ip}"/>
<param name="ext-sip-ip" value="$${external_sip_ip}"/>
<param name="NDLB-force-rport" value="true"/>


conf/autoload/switch.conf.xml
=============================


<param name="rtp-start-port" value="16384"/>
<param name="rtp-end-port" value="32768"/>

【讨论】:

  • 谢谢,乔迪。我今天会尝试一下,然后告诉你。
  • 有人使用这些指令成功了吗?
【解决方案2】:

我试试:

Sofia 外部 IP 配置

您不必对 Sofia 个人资料进行任何更改。 FreeSWITCH 自动 NAT 功能将自动处理此问题。但是,如果您想手动执行此操作,请编辑 sip_profiles/internal.xml 文件并将 auto-nat 替换为 ext-rtp-ip 和 ext-sip-ip 参数中的外部 IP 地址。

【讨论】:

    猜你喜欢
    • 2019-06-30
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2015-01-10
    • 2015-08-06
    • 1970-01-01
    • 2016-06-16
    相关资源
    最近更新 更多