我正在尝试将位于 NAT 后面的 GrandStream FXO 网关与云上的 FusionPBX 连接起来。在 Fusion 中创建扩展 10000 并在 Grandstream 中配置该扩展以注册 fusicon。注册成功,我可以向 fusionPBX 拨打电话。我找不到拨打电话的方法,并且在这里创建融合网关不是一个选项,因为 Grandstream 在 NAT 后面具有动态 IP。我尝试使用以下脚本创建出站 sxript,但调用不成功。
<extension name="enum.9d" continue="true" uuid="1607a815-b1e1-4028-b326-1e26e4110055">
<condition field="${user_exists}" expression="false"/>
<condition field="destination_number" expression="^9(\d*)$">
<action application="set" data="called_contact=${sofia_contact(*/10000@${domain_name})}" inline="true"/>
</condition>
<condition field="${called_contact}" expression="^.*sofia.*sofia.*$" break="on-true"/>
<condition field="${called_contact}" expression="^.*sip:.*@(\b(?:\d{1,3}\.){3}\d{1,3}\b)" break="never">
<action application="set" data="called_contact_internal_ip=$1" inline="true"/>
<anti-action application="set" data="called_contact_internal_ip=unknown" inline="true"/>
</condition>
<condition field="${called_contact}" expression="^.*fs_path=sip%3A\d+%40((?:\d{1,3}\.){3}\d{1,3}.*)" break="never">
<action application="set" data="call_timeout=45"/>
<action application="export" data="nolocal:absolute_codec_string=PCMU" inline="true"/>
<action application="set" data="called_contact_public_ip=$1" inline="true"/>
</condition>
<condition field="destination_number" expression="^9(\d*)$">
<action application="bridge" data="sofia/internal/sip:$1@${called_contact_internal_ip};transport=tcp;fs_nat=yes;fs_path=sip:$1@${called_contact_public_ip}"/>
</condition>
任何人都可以帮我解决问题吗?