Couldn't you do something like if $contact.address != ip.src_addr && sip_agent contains Polycom THEN NDLB-connectile-dysfunction -Matt ----- Original Message -----
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 " ?>
< 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
FreeSWITCH-powered IP PBX: The CudaTel Communication Server
Official FreeSWITCH Sites
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
_________________________________________________________________________ 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