Couldn't you do something like

if $contact.address != ip.src_addr && sip_agent contains Polycom THEN NDLB-connectile-dysfunction

-Matt



From: "Michael Collins" <msc@freeswitch.org>
To: "FreeSWITCH Users Help" <freeswitch-users@lists.freeswitch.org>
Sent: Thursday, November 17, 2011 2:48:32 PM
Subject: Re: [Freeswitch-users] Polycom phone registration problem

Hi Elliot,

IIRC, the scenario where the Polycom is behind NAT and the FS is on a public IP is one where Polycom fails because they are too stubborn to add rport to their SIP handling. (We've been barking at them for over 5 years on this issue.)

There is a workaround in FS but it breaks non-Polycom phones that are on the same profile, so you'll need to have a separate profile for your Polycoms if you are in a mixed environment. In any case, for the sofia profile that has the Polycoms you should check out these two parameters:

http://wiki.freeswitch.org/wiki/Sofia.conf.xml#NDLB-force-rport
http://wiki.freeswitch.org/wiki/NAT_Traversal#NDLB-connectile-dysfunction

You might also want to hop into #freeswitch on irc.freenode.net and talk to some of our resident Polycom veterans. 

-MC

On Wed, Nov 16, 2011 at 9:14 PM, Elliott Vogel <elliott@zoogmedia.com> wrote:

Hello, I’m trying to setup freeswitch and I’m having a problem with a polycom phone registering. The phone is behind nat but the freeswitch is on a public network can anyone tell me if I don’t have something configured correctly or where should look for the problem?

 

<include>

  <domain name="zoogmedia.com">

    <params>

      <param name="dial-string" value="{sip_invite_domain=${dialed_domain},presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/>

    </params>

 

    <variables>

      <variable name="record_stereo" value="true"/>

      <variable name="default_gateway" value="$${default_provider}"/>

      <variable name="default_areacode" value="312"/>

      <variable name="transfer_fallback_extension" value="operator"/>

    </variables>

 

    <groups>

      <group name="default">

        <users>

          <user id="14149823263">

            <params>

              <param name="password" value="123456"/>

            </params>

            <variables>

              <variable name="sip-force-contact" value="NDLB-connectile-dysfunction"/>

              <variable name="toll_allow" value="domestic,international,local"/>

              <variable name="accountcode" value="1000"/>

              <variable name="user_context" value="default"/>

              <variable name="outbound_caller_id_name" value="Sales" />

              <variable name="outbound_caller_id_number" value="+14149823263" />

            </variables>

          </user>

        </users>

      </group>

    </groups>

 

  </domain>

</include>

 

 

 

<configuration name="sofia.conf" description="sofia Endpoint">

 

  <global_settings>

    <param name="log-level" value="0"/>

    <!-- <param name="auto-restart" value="false"/> -->

    <param name="debug-presence" value="0"/>

    <!-- <param name="capture-server" value="udp:homer.domain.com:5060"/> -->

  </global_settings>

 

  <profiles>

 

    <profile name="endpoints">

      <gateways>

        <gateway name="TNG">

          <param name="username" value="user"/>

          <param name="password" value="password"/>

          <param name="proxy" value="69.25.128.195:5060"/>

          <param name="from-domain" value="$${local_ip_v4}:5060"/>

          <param name="dtmf-type" value="rfc2833"/>

          <param name="extension-in-contact" value="true"/>

          <param name="caller-id-in-from" value="true"/>

          <param name="register" value="false"/>

        </gateway>

      </gateways>

      <aliases>

 

      </aliases>

      <domains>

        <domain name="all" alias="false" parse="true"/>

      </domains>

      <settings>

        <param name="debug" value="0"/>

        <param name="sip-trace" value="no"/>

        <param name="sip-capture" value="no"/>

        <param name="rtp-ip" value="$${external_rtp_ip}"/>

        <param name="sip-ip" value="$${external_sip_ip}"/>

        <param name="ext-rtp-ip" value="$${external_rtp_ip}"/>

        <param name="ext-sip-ip" value="$${external_sip_ip}"/>

        <param name="sip-port" value="5070"/>

        <param name="tls" value="$${external_ssl_enable}"/>

        <param name="tls-bind-params" value="transport=tls"/>

        <param name="tls-sip-port" value="$${external_tls_port}"/>

        <param name="tls-cert-dir" value="$${external_ssl_dir}"/>

        <param name="tls-version" value="$${sip_tls_version}"/>

 

        <param name="rfc2833-pt" value="101"/>

        <param name="dialplan" value="XML"/>

        <param name="context" value="default"/>

        <param name="dtmf-duration" value="2000"/>

        <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>

        <param name="outbound-codec-prefs" value="$${outbound_codec_prefs}"/>

        <param name="hold-music" value="$${hold_music}"/>

        <param name="rtp-timer-name" value="soft"/>

        <param name="local-network-acl" value="localnet.auto"/>

        <param name="manage-presence" value="false"/>

        <param name="inbound-codec-negotiation" value="greedy"/>

        <param name="nonce-ttl" value="60"/>

        <param name="auth-calls" value="false"/>

        <param name="rtp-timeout-sec" value="300"/>

        <param name="rtp-hold-timeout-sec" value="1800"/>

        <param name="rtp-rewrite-timestamps" value="true"/>

 

        <param name="track-calls" value="true"/>

      </settings>

    </profile>

 

  </profiles>

 

</configuration>

 

<?xml version="1.0" encoding="utf-8"?>

<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->

<include>

  <context name="default">

    <extension name="unloop">

      <condition field="${unroll_loops}" expression="^true$"/>

      <condition field="${sip_looped_call}" expression="^true$">

        <action application="deflect" data="${destination_number}"/>

      </condition>

    </extension>

    <extension name="check_auth" continue="true">

      <condition field="${sip_authorized}" expression="^true$" break="never">

        <anti-action application="respond" data="407"/>

      </condition>

    </extension>

    <extension name="local">

      <condition field="${toll_allow}" expression="local" />

      <condition field="destination_number" expression="^([0-9]{7})$">

        <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}" />

        <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}" />

        <action application="bridge" data="sofia/gateway/TNG/+1${default_areacode}$1"/>

      </condition>

    </extension>

    <extension name="domestic">

      <condition field="${toll_allow}" expression="domestic" />

      <condition field="destination_number" expression="^(1{0,1}\d{10})$">

        <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}" />

        <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}" />

        <action application="bridge" data="sofia/gateway/TNG/+$1"/>

      </condition>

    </extension>

    <extension name="international">

      <condition field="${toll_allow}" expression="international" />

      <condition field="destination_number" expression="^011?(\d+)$">

        <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}" />

        <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}" />

        <action application="bridge" data="sofia/gateway/TNG/+$1"/>

      </condition>

    </extension>

  </context>

</include>

 

 

 

 


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org



_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org