[Freeswitch-users] Call is interrupted in 30 seconds, configuring NAT on Amazon EC2

Стас Тельнов stasan89 at gmail.com
Fri Apr 8 17:59:54 MSD 2016


Hello.

When using a call or conference through sip — freeswitch with external
provider there is a problem – the call is interrupted in 30 seconds. Though
the sound goes all right.
I think that it caused by the NAT settings for freeswitch, but I don't
understand how to adjust it correctly.
At start of freeswitch I see the following mistakes in the tracking data:
2016-04-08 07:04:50.903529 [INFO] switch_nat.c:417 Scanning for NAT
2016-04-08 07:04:50.903678 [DEBUG] switch_nat.c:170 Checking for PMP 1/5
2016-04-08 07:04:51.903843 [DEBUG] switch_nat.c:170 Checking for PMP 2/5
2016-04-08 07:04:52.904023 [DEBUG] switch_nat.c:170 Checking for PMP 3/5
2016-04-08 07:04:53.904185 [DEBUG] switch_nat.c:170 Checking for PMP 4/5
2016-04-08 07:04:54.904360 [DEBUG] switch_nat.c:170 Checking for PMP 5/5
2016-04-08 07:04:55.904495 [ERR] switch_nat.c:199 Error checking for PMP
[general error]
2016-04-08 07:04:55.904548 [DEBUG] switch_nat.c:422 Checking for UPnP
2016-04-08 07:05:07.905219 [INFO] switch_nat.c:438 No PMP or UPnP NAT
devices detected!

Despite of this mistake, conference communication between two internal
users works normally. The problem arises at a call through external
provider.

We have the following architecture:
In a cloud of Amazon EC2 there are 2 servers – opensips and freeswitch,
both for NAT for external clients, but have an opportunity to work with
each other directly.
opensips has the internal address 172.31.0.169 and external 52. *.*.177
freeswitch has the internal address 172.31.22.124 and external 52. *.*.198

In fact, freeswitch acts only for conferences, and is ready for use of a
remote DB on opensips.
The auto-nat settings by default didn't work. The problem is in the
external profile settings as far as I understand.

I have filled and created the following configuration:
vars.xml
  <X-PRE-PROCESS cmd="set" data="bind_server_ip=auto”/>
  <X-PRE-PROCESS cmd="set" data="external_rtp_ip=52.*.*.198”/> <!— public
freeswitch ip —>
  <X-PRE-PROCESS cmd="set" data="external_sip_ip=52.*.*.198”/> <!— public
freeswitch ip —>
  <!-- External SIP Profile -->
  <X-PRE-PROCESS cmd="set" data="external_auth_calls=true"/>
  <X-PRE-PROCESS cmd="set" data="external_sip_port=5060"/>
  <X-PRE-PROCESS cmd="set" data="external_tls_port=5061"/>
  <X-PRE-PROCESS cmd="set" data="external_ssl_enable=true"/>
  <X-PRE-PROCESS cmd="set" data="external_ssl_dir=$${base_dir}/conf/tls"/>

sip_profile/external.xml
    <param name="rtp-ip" value="$${local_ip_v4}"/>
    <param name="sip-ip" value="$${local_ip_v4}"/>

    <param name="ext-rtp-ip" value=“52.*.*.198”/> <!— public freeswitch ip
—>
    <param name="ext-sip-ip" value=“52.*.*.198”/> <!— public freeswitch ip
—>
In this sip_profile/external.xml I tried to fill rtp-ip/sip-ip and
ext-rtp-ip/ext-sip-ip with the corresponding addresses of opensips server
(that would be logical), but in that case conferences didn't work at all
and errors below appeared:
[ERR] sofia.c:2935 Error Creating SIP UA for profile: external ...
Also I tried to put such configuration:
    <param name="rtp-ip" value="auto"/>
    <param name="sip-ip" value="52.*.*.198”/>
but it also hasn't helped to solve the problem.

autoload_configs/switch.conf.xml
    <param name="rtp-start-port" value="16384"/>
    <param name="rtp-end-port" value="32768"/>

"sofia status" looks as follows:
                     Name       Type
                                      Data    State
=================================================================================================
            172.31.22.124      alias
internal    ALIASED
                 external    profile
sip:mod_sofia at 52.*.*.198:5060
RUNNING (0)
                 external    profile
sip:mod_sofia at 52.*.*.198:5061
RUNNING (0) (TLS)
 external::*********.com    gateway
sip:USER@*********.com
REGED
                 internal    profile
sip:mod_sofia at 52.*.*.198:5080
RUNNING (0)
                 internal    profile
sip:mod_sofia at 52.*.*.198:5081
RUNNING (0) (TLS)
=================================================================================================
2 profiles 1 alias

"sofia status profile external" looks as follows:
=================================================================================================
Name                 external
Domain Name          N/A
Auto-NAT             false
DBName               sofia_reg_external
Pres Hosts
Dialplan             XML
Context              public
Challenge Realm      auto_to
RTP-IP               172.31.22.124
Ext-RTP-IP           52.*.*.198
SIP-IP               172.31.22.124
Ext-SIP-IP           52.*.*.198
URL                  sip:mod_sofia at 52.*.*.198:5060
BIND-URL             sip:mod_sofia at 52.
*.*.198:5060;maddr=172.31.22.124;transport=udp,tcp
TLS-URL              sip:mod_sofia at 52.*.*.198:5061
TLS-BIND-URL         sips:mod_sofia at 52.
*.*.198:5061;maddr=172.31.22.124;transport=tls
HOLD-MUSIC           local_stream://moh
OUTBOUND-PROXY       N/A
CODECS IN            PCMA
CODECS OUT           PCMA
TEL-EVENT            101
DTMF-MODE            rfc2833
CNG                  13
SESSION-TO           0
MAX-DIALOG           0
NOMEDIA              false
LATE-NEG             true
PROXY-MEDIA          false
ZRTP-PASSTHRU        true
AGGRESSIVENAT        false
CALLS-IN             0
FAILED-CALLS-IN      0
CALLS-OUT            0
FAILED-CALLS-OUT     0
REGISTRATIONS        0



What do I adjust wrong? Whether there is some opportunity, to tell
freeswitch not to break off a call in 30 seconds even if NAT isn't adjusted?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160408/1f270a9d/attachment.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list