[Freeswitch-users] Polycom phone registration problem

Matthew S. Crocker matthew at corp.crocker.com
Fri Nov 18 02:39:00 MSK 2011


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 at freeswitch.org>
> To: "FreeSWITCH Users Help" <freeswitch-users at 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 at 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 at freeswitch.org
> 
> > http://www.freeswitchsolutions.com
> 

> > 
> 
> > 
> 

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

> > FreeSWITCH-users mailing list
> 
> > FreeSWITCH-users at 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 at freeswitch.org
> http://www.freeswitchsolutions.com

> 
> 

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

> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20111117/0e6e6581/attachment-0001.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list