I’m using the external sip profile to route calls from
a voice gateway router to an internal PBX.
In separate xml files in the sofia/external directory, I
have the following:
<include>
<gateway name="Server-1">
<param
name="username" value="gateway"/>
<param
name="password" value="gateway"/>
<param
name="realm" value=" X.X.X.X "/>
<param
name="proxy" value=" X.X.X.X "/>
<param
name="register" value="false"/>
<param
name="context" value="public"/>
</gateway>
</include>
<include>
<gateway name="Server-2">
<param
name="username" value="gateway"/>
<param
name="password" value="gateway"/>
<param
name="realm" value="X.X.X.X"/>
<param
name="proxy" value="X.X.X.X"/>
<param
name="register" value="false"/>
<param
name="context" value="public"/>
</gateway>
</include>
<include>
<gateway name="Voice Gateway">
<param
name="username" value="gateway"/>
<param
name="password" value="gateway"/>
<param
name="realm" value="X.X.X.X"/>
<param
name="proxy" value="X.X.X.X"/>
<param
name="register" value="false"/>
<param
name="context" value="public"/>
</gateway>
</include>
In the dial plan/public directory, I have the following
(different xml files):
<extension name="PBX">
<condition
field="destination_number" expression="^(Directory Numbers)$">
<action
application="bridge" data="sofia/gateway/Server-1/$1"/>
<action
application="bridge" data="sofia/gateway/Server-2/$1"/>
</condition>
</extension>
<extension name="PSTN">
<condition
field="destination_number" expression="^(\d{10})$">
<action
application="bridge" data="sofia/gateway/Voice Gateway/$1"/>
</condition>
</extension>
In the sip profiles/eternal.xml file, I have the following
major settings:
<settings>
<param
name="inbound-proxy-media" value="false"/>
<param
name="disable-transcoding" value="false"/>
<param name="inbound-late-negotiation"
value="true"/>
<param
name="user-agent-string" value="My Company Name"/>
<param
name="disable-register" value="true"/>
<param
name="inbound-codec-negotiation" value="generous"/>
<param
name="inbound-codec-prefs" value="G729,PCMU"
<param
name="outbound-codec-prefs" value="G729,PCMU"/>
<param
name="media-option" value="resume-media-on-hold"/>
<param
name="stun-enabled" value="false"/>
<param name="debug"
value="0"/>
<param
name="sip-trace" value="no"/>
<param
name="rfc2833-pt" value="101"/>
<param
name="sip-port" value="5080"/>
<param name="rtp-ip"
value="X.X.X.X"/>
<param name="sip-ip"
value="X.X.X.X"/>
<param
name="dialplan" value="XML"/>
<param
name="context" value="public"/>
<param
name="dtmf-duration" value="2000"/>
<param
name="rtp-timer-name" value="soft"/>
<param
name="rtp-timeout-sec" value="300"/>
<param
name="rtp-hold-timeout-sec" value="1800"/>
</settings>
</profile>
Currently, I’m experiencing two issues.
1.
Inbound calls work as long as I’m using “inbound-proxy-media”.
When I disable that setting and force transcoding, the phone rings but
immediately hangs up when I pick up the receiver. I see an “Incompatible
Destination” message on the console.
2.
Outbound calls don’t work at all. On the console,
I see “407 Proxy Authentication Required”. If I’m using the
external profile, how could it require authentication?
Any ideas?
Thanks,
Ken Fulmer