Browse Source

Merge remote branch 'origin/staging' into development

Conflicts:
	autoload_configs/acl.conf.xml
	autoload_configs/modules.conf.xml
3.12
Karl Anderson 15 years ago
parent
commit
aff7c85f5a
13 changed files with 238 additions and 340 deletions
  1. +11
    -8
      autoload_configs/acl.conf.xml
  2. +73
    -129
      autoload_configs/conference.conf.xml
  3. +0
    -20
      autoload_configs/directory.conf.xml
  4. +0
    -9
      autoload_configs/event_multicast.conf.xml
  5. +0
    -6
      autoload_configs/fifo.conf.xml
  6. +0
    -5
      autoload_configs/ivr.conf.xml
  7. +6
    -15
      autoload_configs/modules.conf.xml
  8. +0
    -62
      autoload_configs/voicemail.conf.xml
  9. +15
    -0
      freeswitch.limits.conf
  10. +36
    -6
      freeswitch.xml
  11. +0
    -3
      ivr_menus/empty.xml
  12. +89
    -71
      opensips/opensips.cfg
  13. +8
    -6
      sip_profiles/sipinterface_1.xml

+ 11
- 8
autoload_configs/acl.conf.xml View File

@ -1,15 +1,18 @@
<configuration name="acl.conf" description="Network Lists">
<network-lists>
<list name="trusted" default="deny">
<node type="allow" cidr="173.203.215.241/32"/> <!--proxy2.switchfreedom.com-->
<node type="allow" cidr="72.249.14.242/32"/> <!--gw01-car.dal.us.icall.net-->
<node type="allow" cidr="8.19.97.6/32"/> <!--sbc01-car.dal.us.icall.net-->
<node type="allow" cidr="208.85.184.0/24"/> <!--velocity.net-->
</list>
<node type="allow" cidr="173.203.215.241/32"/> <!--proxy2.switchfreedom.com-->
<node type="allow" cidr="72.249.14.242/32"/> <!--gw01-car.dal.us.icall.net-->
<node type="allow" cidr="8.19.97.6/32"/> <!--sbc01-car.dal.us.icall.net-->
<node type="allow" cidr="208.85.184.0/24"/> <!--velocity.net-->
<node type="allow" cidr="184.106.172.9/32"/> <!--sipproxy001-prod-ord.2600hz.com-->
<node type="allow" cidr="204.232.212.190/32"/> <!--sipproxy002-prod-dfw.2600hz.com-->
<node type="allow" cidr="216.82.224.202/32"/> <!-- bandwidth.com-->
</list>
<list name="authoritative" default="deny">
<node type="allow" cidr="184.106.172.9/32"/> <!--sipproxy001-prod-ord-->
<node type="allow" cidr="204.232.212.190/32"/> <!--sipproxy002-prod-dfw-->
<node type="allow" cidr="184.106.157.174/32"/> <!--sipproxy001-aa-ord-->
<node type="allow" cidr="184.106.157.174/32"/> <!--sipproxy001-aa-ord.2600hz.com-->
<node type="allow" cidr="209.114.35.233/32"/> <!--sipproxy001-aa-dfw.2600hz.com-->
<node type="allow" cidr="184.106.170.176/32"/> <!--sipproxy001-dev-ord.2600hz.com-->
</list>
</network-lists>
</configuration>

+ 73
- 129
autoload_configs/conference.conf.xml View File

@ -1,174 +1,118 @@
<configuration name="conference.conf" description="Audio Conference">
<caller-controls>
<group name="default">
<control action="mute" digits="0"/>
<control action="deaf mute" digits="*"/>
<control action="energy up" digits="9"/>
<control action="energy equ" digits="8"/>
<control action="energy dn" digits="7"/>
<control action="vol talk up" digits="3"/>
<control action="vol talk zero" digits="2"/>
<control action="vol talk dn" digits="1"/>
<control action="vol listen up" digits="6"/>
<control action="vol listen zero" digits="5"/>
<control action="vol listen dn" digits="4"/>
<control action="hangup" digits="#"/>
</group>
</caller-controls>
<caller-controls/>
<profiles>
<profile name="default">
<param name="rate" value="8000"/>
<param name="interval" value="20"/>
<param name="energy-level" value="300"/>
<!--<param name="member-flags" value="waste"/>-->
<param name="caller-controls" value="default"/>
<param name="tts-engine" value="flite"/>
<param name="tts-voice" value="kal"/>
<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
<param name="ack-sound" value="beep.wav"/>
<param name="nack-sound" value="beeperr.wav"/>
<param name="muted-sound" value="conference/conf-muted.wav"/>
<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
<param name="alone-sound" value="conference/conf-alone.wav"/>
<!--<param name="perpetual-sound" value="perpetual.wav"/>-->
<param name="moh-sound" value="local_stream://default"/>
<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
<param name="kicked-sound" value="conference/conf-kicked.wav"/>
<param name="locked-sound" value="conference/conf-locked.wav"/>
<param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
<param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
<param name="pin-sound" value="conference/conf-pin.wav"/>
<param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
<param name="caller-controls" value="none"/>
<param name="sound-prefix" value=""/>
<param name="ack-sound" value=""/>
<param name="nack-sound" value=""/>
<param name="muted-sound" value=""/>
<param name="unmuted-sound" value=""/>
<param name="alone-sound" value=""/>
<param name="perpetual-sound" value=""/>
<param name="moh-sound" value=""/>
<param name="enter-sound" value=""/>
<param name="exit-sound" value=""/>
<param name="kicked-sound" value=""/>
<param name="locked-sound" value=""/>
<param name="is-locked-sound" value=""/>
<param name="is-unlocked-sound" value=""/>
<param name="pin-sound" value=""/>
<param name="bad-pin-sound" value=""/>
<param name="caller-id-name" value="Unknown"/>
<param name="caller-id-number" value="5555555555"/>
<!-- <param name="suppress-events" value="start-talking,stop-talking"/> -->
<param name="comfort-noise" value="true"/>
<param name="auto-record" value="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
</profile>
<profile name="wideband">
<param name="rate" value="16000"/>
<param name="interval" value="20"/>
<param name="energy-level" value="300"/>
<!--<param name="member-flags" value="waste"/>-->
<param name="caller-controls" value="default"/>
<param name="tts-engine" value="flite"/>
<param name="tts-voice" value="kal"/>
<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
<param name="ack-sound" value="beep.wav"/>
<param name="nack-sound" value="beeperr.wav"/>
<param name="muted-sound" value="conference/conf-muted.wav"/>
<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
<param name="alone-sound" value="conference/conf-alone.wav"/>
<!--<param name="perpetual-sound" value="perpetual.wav"/>-->
<param name="moh-sound" value="local_stream://default"/>
<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
<param name="kicked-sound" value="conference/conf-kicked.wav"/>
<param name="locked-sound" value="conference/conf-locked.wav"/>
<param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
<param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
<param name="pin-sound" value="conference/conf-pin.wav"/>
<param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
<param name="caller-controls" value="none"/>
<param name="sound-prefix" value=""/>
<param name="ack-sound" value=""/>
<param name="nack-sound" value=""/>
<param name="muted-sound" value=""/>
<param name="unmuted-sound" value=""/>
<param name="alone-sound" value=""/>
<param name="perpetual-sound" value=""/>
<param name="moh-sound" value=""/>
<param name="enter-sound" value=""/>
<param name="exit-sound" value=""/>
<param name="kicked-sound" value=""/>
<param name="locked-sound" value=""/>
<param name="is-locked-sound" value=""/>
<param name="is-unlocked-sound" value=""/>
<param name="pin-sound" value=""/>
<param name="bad-pin-sound" value=""/>
<param name="caller-id-name" value="Unknown"/>
<param name="caller-id-number" value="5555555555"/>
<!-- <param name="suppress-events" value="start-talking,stop-talking"/> -->
<param name="comfort-noise" value="true"/>
<param name="auto-record" value="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
</profile>
<profile name="ultrawideband">
<param name="rate" value="32000"/>
<param name="interval" value="20"/>
<param name="energy-level" value="300"/>
<!--<param name="member-flags" value="waste"/>-->
<param name="caller-controls" value="default"/>
<param name="tts-engine" value="flite"/>
<param name="tts-voice" value="kal"/>
<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
<param name="ack-sound" value="beep.wav"/>
<param name="nack-sound" value="beeperr.wav"/>
<param name="muted-sound" value="conference/conf-muted.wav"/>
<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
<param name="alone-sound" value="conference/conf-alone.wav"/>
<!--<param name="perpetual-sound" value="perpetual.wav"/>-->
<param name="moh-sound" value="local_stream://default"/>
<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
<param name="kicked-sound" value="conference/conf-kicked.wav"/>
<param name="locked-sound" value="conference/conf-locked.wav"/>
<param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
<param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
<param name="pin-sound" value="conference/conf-pin.wav"/>
<param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
<param name="caller-controls" value="none"/>
<param name="sound-prefix" value=""/>
<param name="ack-sound" value=""/>
<param name="nack-sound" value=""/>
<param name="muted-sound" value=""/>
<param name="unmuted-sound" value=""/>
<param name="alone-sound" value=""/>
<param name="perpetual-sound" value=""/>
<param name="moh-sound" value=""/>
<param name="enter-sound" value=""/>
<param name="exit-sound" value=""/>
<param name="kicked-sound" value=""/>
<param name="locked-sound" value=""/>
<param name="is-locked-sound" value=""/>
<param name="is-unlocked-sound" value=""/>
<param name="pin-sound" value=""/>
<param name="bad-pin-sound" value=""/>
<param name="caller-id-name" value="Unknown"/>
<param name="caller-id-number" value="5555555555"/>
<!-- <param name="suppress-events" value="start-talking,stop-talking"/> -->
<param name="comfort-noise" value="true"/>
<param name="auto-record" value="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
</profile>
<profile name="cdquality">
<profile name="cd-quality">
<param name="rate" value="48000"/>
<param name="interval" value="20"/>
<param name="energy-level" value="300"/>
<!--<param name="member-flags" value="waste"/>-->
<param name="caller-controls" value="default"/>
<param name="tts-engine" value="flite"/>
<param name="tts-voice" value="kal"/>
<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
<param name="ack-sound" value="beep.wav"/>
<param name="nack-sound" value="beeperr.wav"/>
<param name="muted-sound" value="conference/conf-muted.wav"/>
<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
<param name="alone-sound" value="conference/conf-alone.wav"/>
<!--<param name="perpetual-sound" value="perpetual.wav"/>-->
<param name="moh-sound" value="local_stream://default"/>
<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
<param name="kicked-sound" value="conference/conf-kicked.wav"/>
<param name="locked-sound" value="conference/conf-locked.wav"/>
<param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
<param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
<param name="pin-sound" value="conference/conf-pin.wav"/>
<param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
<param name="caller-id-name" value="Unknown"/>
<param name="caller-id-number" value="5555555555"/>
<!-- <param name="suppress-events" value="start-talking,stop-talking"/> -->
<param name="comfort-noise" value="true"/>
<param name="auto-record" value="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
</profile>
<profile name="basic">
<param name="rate" value="8000"/>
<param name="interval" value="20"/>
<param name="energy-level" value="300"/>
<!--<param name="member-flags" value="waste"/>-->
<param name="caller-controls" value="none"/>
<param name="tts-engine" value="flite"/>
<param name="tts-voice" value="kal"/>
<param name="sound-prefix" value="$${sounds_dir}/en/us/callie"/>
<param name="muted-sound" value="conference/conf-muted.wav"/>
<param name="unmuted-sound" value="conference/conf-unmuted.wav"/>
<param name="alone-sound" value="conference/conf-alone.wav"/>
<!--<param name="perpetual-sound" value="perpetual.wav"/>-->
<param name="moh-sound" value="silence"/>
<param name="enter-sound" value="tone_stream://%(200,0,500,600,700)"/>
<param name="exit-sound" value="tone_stream://%(500,0,300,200,100,50,25)"/>
<param name="kicked-sound" value="conference/conf-kicked.wav"/>
<param name="locked-sound" value="conference/conf-locked.wav"/>
<param name="is-locked-sound" value="conference/conf-is-locked.wav"/>
<param name="is-unlocked-sound" value="conference/conf-is-unlocked.wav"/>
<param name="pin-sound" value="conference/conf-pin.wav"/>
<param name="bad-pin-sound" value="conference/conf-bad-pin.wav"/>
<param name="sound-prefix" value=""/>
<param name="ack-sound" value=""/>
<param name="nack-sound" value=""/>
<param name="muted-sound" value=""/>
<param name="unmuted-sound" value=""/>
<param name="alone-sound" value=""/>
<param name="perpetual-sound" value=""/>
<param name="moh-sound" value=""/>
<param name="enter-sound" value=""/>
<param name="exit-sound" value=""/>
<param name="kicked-sound" value=""/>
<param name="locked-sound" value=""/>
<param name="is-locked-sound" value=""/>
<param name="is-unlocked-sound" value=""/>
<param name="pin-sound" value=""/>
<param name="bad-pin-sound" value=""/>
<param name="caller-id-name" value="Unknown"/>
<param name="caller-id-number" value="5555555555"/>
<!-- <param name="suppress-events" value="start-talking,stop-talking"/> -->
<param name="comfort-noise" value="true"/>
<param name="auto-record" value="$${recordings_dir}/${conference_name}_${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
</profile>
</profiles>
</configuration>
</configuration>

+ 0
- 20
autoload_configs/directory.conf.xml View File

@ -1,20 +0,0 @@
<configuration name="directory.conf" description="Directory">
<settings>
</settings>
<profiles>
<profile name="default">
<param name="max-menu-attempts" value="3"/>
<param name="min-search-digits" value="3"/>
<param name="terminator-key" value="#"/>
<param name="digit-timeout" value="3000"/>
<param name="max-result" value="5"/>
<param name="next-key" value="6"/>
<param name="prev-key" value="4"/>
<param name="switch-order-key" value="*"/>
<param name="select-name-key" value="1"/>
<param name="new-search-key" value="3"/>
<param name="search-order" value="last_name"/>
</profile>
</profiles>
</configuration>

+ 0
- 9
autoload_configs/event_multicast.conf.xml View File

@ -1,9 +0,0 @@
<configuration name="event_multicast.conf" description="Multicast Event">
<settings>
<param name="address" value="225.1.1.1"/>
<param name="port" value="4242"/>
<param name="bindings" value="all"/>
<param name="ttl" value="1"/>
<param name="psk" value="sh0vvMEthev01p"/>
</settings>
</configuration>

+ 0
- 6
autoload_configs/fifo.conf.xml View File

@ -1,6 +0,0 @@
<configuration name="fifo.conf" description="FIFO Configuration">
<settings>
<param name="delete-all-outbound-member-on-startup" value="false"/>
</settings>
<fifos />
</configuration>

+ 0
- 5
autoload_configs/ivr.conf.xml View File

@ -1,5 +0,0 @@
<configuration name="ivr.conf" description="IVR menus">
<menus>
<X-PRE-PROCESS cmd="include" data="../ivr_menus/*.xml"/>
</menus>
</configuration>

+ 6
- 15
autoload_configs/modules.conf.xml View File

@ -10,7 +10,6 @@
<!-- Event Handlers -->
<load module="mod_event_socket"/>
<!--<load module="mod_event_multicast"/>-->
<load module="mod_erlang_event" />
<!-- Directory Interfaces -->
@ -25,43 +24,35 @@
<load module="mod_conference"/>
<load module="mod_dptools"/>
<load module="mod_expr"/>
<load module="mod_fifo"/>
<!--<load module="mod_voicemail"/>-->
<load module="mod_directory"/>
<load module="mod_esf"/>
<!--<load module="mod_valet_parking"/>-->
<load module="mod_hash"/>
<!-- Codec Interfaces -->
<load module="mod_spandsp"/>
<!--<load module="mod_g723_1"/>-->
<load module="mod_siren"/>
<load module="mod_g729"/>
<!--<load module="mod_g723_1"/>-->
<!--<load module="mod_amr"/>-->
<!--<load module="mod_ilbc"/>-->
<!--<load module="mod_speex"/>-->
<!--<load module="mod_h26x"/>-->
<load module="mod_siren"/>
<!--<load module="mod_celt"/>-->
<!--<load module="mod_opus"/>-->
<!-- File Format Interfaces -->
<load module="mod_sndfile"/>
<load module="mod_native_file"/>
<!--For icecast/mp3 streams/files-->
<load module="mod_shout"/>
<!--<load module="mod_native_file"/>-->
<load module="mod_local_stream"/>
<load module="mod_tone_stream"/>
<load module="mod_file_string"/>
<load module="mod_shout"/>
<load module="mod_shell_stream"/>
<!-- Timers -->
<!-- Languages -->
<!-- ASR /TTS -->
<load module="mod_flite"/>
<!-- Say -->
<load module="mod_say_en"/>
<!--<load module="mod_say_ru"/>-->
<!-- Third party modules -->


+ 0
- 62
autoload_configs/voicemail.conf.xml View File

@ -1,62 +0,0 @@
<configuration name="voicemail.conf" description="Voicemail">
<settings/>
<profiles>
<profile name="default">
<param name="file-extension" value="wav"/>
<param name="terminator-key" value="#"/>
<param name="max-login-attempts" value="3"/>
<param name="digit-timeout" value="10000"/>
<param name="min-record-len" value="3"/>
<param name="max-record-len" value="300"/>
<param name="max-retries" value="3"/>
<param name="tone-spec" value="%(1000, 0, 640)"/>
<param name="callback-dialplan" value="XML"/>
<param name="callback-context" value="default"/>
<param name="play-new-messages-key" value="1"/>
<param name="play-saved-messages-key" value="2"/>
<param name="login-keys" value="*"/>
<param name="main-menu-key" value="0"/>
<param name="config-menu-key" value="5"/>
<param name="record-greeting-key" value="1"/>
<param name="choose-greeting-key" value="2"/>
<param name="change-pass-key" value="6"/>
<param name="record-name-key" value="3"/>
<param name="record-file-key" value="3"/>
<param name="listen-file-key" value="1"/>
<param name="save-file-key" value="2"/>
<param name="delete-file-key" value="7"/>
<param name="undelete-file-key" value="8"/>
<param name="email-key" value="4"/>
<param name="pause-key" value="0"/>
<param name="restart-key" value="1"/>
<param name="ff-key" value="6"/>
<param name="rew-key" value="4"/>
<param name="skip-greet-key" value="#"/>
<!--<param name="previous-message-key" value=""/>-->
<!--<param name="next-message-key" value=""/>-->
<!--<param name="skip-info-key" value=""/>-->
<param name="record-silence-threshold" value="200"/>
<param name="record-silence-hits" value="2"/>
<param name="web-template-file" value="web-vm.tpl"/>
<!--<param name="record-sample-rate" value="11025"/>-->
<param name="operator-extension" value="operator XML default"/>
<param name="operator-key" value="0"/>
<param name="vmain-extension" value="vmain XML default"/>
<param name="vmain-key" value="*"/>
<!--<param name="auto-playback-recordings" value="true"/>-->
<email>
<param name="template-file" value="../templates/voicemail.tpl"/>
<param name="notify-template-file" value="../templates/notify-voicemail.tpl"/>
<!-- this is the format voicemail_time will have -->
<param name="date-fmt" value="%A, %B %d %Y, %I %M %p"/>
<param name="email-from" value="${voicemail_account}@${voicemail_domain}"/>
</email>
<!--<param name="storage-dir" value="/tmp"/>-->
<!--<param name="odbc-dsn" value="fs_vm"/>-->
<param name="record-comment" value="Powered by 2600Hz"/>
<param name="record-title" value="Voicemail Message"/>
<!--<param name="record-copyright" value="Your Copyright"/>-->
</profile>
</profiles>
</configuration>

+ 15
- 0
freeswitch.limits.conf View File

@ -0,0 +1,15 @@
freeswitch soft core unlimit
freeswitch soft data unlimit
freeswitch soft fsize unlimit
freeswitch soft memlock unlimit
freeswitch soft nofile 999999
freeswitch soft rss unlimit
freeswitch hard stack 240
freeswitch soft cpu unlimit
freeswitch soft nproc unlimit
freeswitch soft as unlimit
freeswitch soft priority -11
freeswitch soft locks unlimit
freeswitch soft sigpending unlimit
freeswitch soft msgqueue unlimit
freeswitch soft nice -11

+ 36
- 6
freeswitch.xml View File

@ -1,14 +1,43 @@
<?xml version="1.0"?>
<document type="freeswitch/xml">
<X-PRE-PROCESS cmd="set" data="uk-ring=%(400,200,400,450);%(400,2200,400,450)"/>
<X-PRE-PROCESS cmd="set" data="us-ring=%(2000,4000,440.0,480.0)"/>
<X-PRE-PROCESS cmd="set" data="fr-ring=%(1500,3500,440.0,0.0)"/>
<X-PRE-PROCESS cmd="set" data="rs-ring=%(1000,4000,425.0,0.0)"/>
<X-PRE-PROCESS cmd="set" data="ru-ring=%(800,3200,425,0)"/>
<X-PRE-PROCESS cmd="set" data="be-ring=%(1000,3000,425)"/>
<X-PRE-PROCESS cmd="set" data="ca-ring=%(2000,4000,440,480)"/>
<X-PRE-PROCESS cmd="set" data="cn-ring=%(1000,4000,450)"/>
<X-PRE-PROCESS cmd="set" data="cy-ring=%(1500,3000,425)"/>
<X-PRE-PROCESS cmd="set" data="cz-ring=%(1000,4000,425)"/>
<X-PRE-PROCESS cmd="set" data="de-ring=%(1000,4000,425)"/>
<X-PRE-PROCESS cmd="set" data="dk-ring=%(1000,4000,425)"/>
<X-PRE-PROCESS cmd="set" data="dz-ring=%(1500,3500,425)"/>
<X-PRE-PROCESS cmd="set" data="eg-ring=%(2000,1000,475,375)"/>
<X-PRE-PROCESS cmd="set" data="fi-ring=%(1000,4000,425)"/>
<X-PRE-PROCESS cmd="set" data="fr-ring=%(1500,3500,440)"/>
<X-PRE-PROCESS cmd="set" data="hk-ring=%(400,200,440,480);%(400,3000,440,480)"/>
<X-PRE-PROCESS cmd="set" data="hu-ring=%(1250,3750,425)"/>
<X-PRE-PROCESS cmd="set" data="il-ring=%(1000,3000,400)"/>
<X-PRE-PROCESS cmd="set" data="in-ring=%(400,200,425,375);%(400,2000,425,375)"/>
<X-PRE-PROCESS cmd="set" data="jp-ring=%(1000,2000,420,380)"/>
<X-PRE-PROCESS cmd="set" data="ko-ring=%(1000,2000,440,480)"/>
<X-PRE-PROCESS cmd="set" data="pk-ring=%(1000,2000,400)"/>
<X-PRE-PROCESS cmd="set" data="pl-ring=%(1000,4000,425)"/>
<X-PRE-PROCESS cmd="set" data="ro-ring=%(1850,4150,475,425)"/>
<X-PRE-PROCESS cmd="set" data="rs-ring=%(1000,4000,425)"/>
<X-PRE-PROCESS cmd="set" data="ru-ring=%(800,3200,425)"/>
<X-PRE-PROCESS cmd="set" data="sa-ring=%(1200,4600,425)"/>
<X-PRE-PROCESS cmd="set" data="tr-ring=%(2000,4000,450)"/>
<X-PRE-PROCESS cmd="set" data="uk-ring=%(400,200,400,450);%(400,2000,400,450)"/>
<X-PRE-PROCESS cmd="set" data="us-ring=%(2000,4000,440,480)"/>
<X-PRE-PROCESS cmd="set" data="bong-ring=v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)"/>
<X-PRE-PROCESS cmd="set" data="hold_music=local_stream://default"/>
<X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
<X-PRE-PROCESS cmd="set" data="hold_music=local_stream://default"/>
<X-PRE-PROCESS cmd="set" data="ignore_display_updates=true"/>
<X-PRE-PROCESS cmd="set" data="recordings_dir=/tmp/"/>
<!--<X-PRE-PROCESS cmd="set" data="codecs=G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>-->
<!--<X-PRE-PROCESS cmd="set" data="codecs=G729,PCMU,PCMA,GSM"/>-->
<X-PRE-PROCESS cmd="set" data="codecs=G729,PCMU,PCMA,GSM"/>
<section name="configuration" description="Various Configuration">
<X-PRE-PROCESS cmd="include" data="autoload_configs/*.xml"/>
</section>
@ -29,4 +58,5 @@
<X-PRE-PROCESS cmd="include" data="lang/ru/*.xml"/>
</macros>
</section>
</document>

+ 0
- 3
ivr_menus/empty.xml View File

@ -1,3 +0,0 @@
<?xml version="1.0"?>
<include>
</include>

+ 89
- 71
opensips/opensips.cfg View File

@ -105,11 +105,12 @@ disable_tcp=no
######################################################################
## Module Loading
######################################################################
mpath="/usr/local/lib64/opensips/modules/"
mpath="/usr/lib64/opensips/modules/"
loadmodule "memcached.so"
loadmodule "signaling.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "dialog.so"
loadmodule "maxfwd.so"
loadmodule "rr.so"
loadmodule "path.so"
@ -117,6 +118,7 @@ loadmodule "uri.so"
loadmodule "textops.so"
loadmodule "usrloc.so"
loadmodule "nathelper.so"
loadmodule "nat_traversal.so"
loadmodule "dispatcher.so"
loadmodule "mi_fifo.so"
# loadmodule "mi_datagram.so"
@ -149,7 +151,7 @@ modparam("tm", "fr_timer", 5)
# modparam("tm", "fr_inv_timer_avp", "$avp(i:25)")
# modparam("tm", "tw_append",
# "test: ua=$hdr(User-Agent) ;avp=$avp(i:10);$rb;time=$Ts")
# modparam("tm", "pass_provisional_replies", 0)
modparam("tm", "pass_provisional_replies", 1)
# modparam("tm", "syn_branch", 1)
# modparam("tm", "onreply_avp_mode", 0)
# modparam("tm", "disable_6xx_block", 0)
@ -221,17 +223,25 @@ modparam("usrloc", "path_column", "path")
## Nathelper Module Parameters
######################################################################
# modparam("nathelper", "rtpproxy_sock", "udp:127.0.0.1:7890")
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
# modparam("nathelper", "natping_interval", 30)
# modparam("nathelper", "ping_nated_only", 1)
# modparam("nathelper", "natping_processes", 3)
modparam("nathelper", "sipping_bflag", 7)
modparam("nathelper", "sipping_from", "sip:sipcheck@184.106.172.9 ")
# modparam("nathelper", "sipping_bflag", 7)
# modparam("nathelper", "sipping_from", "sip:sipcheck@184.106.157.174")
# modparam("nathelper", "sipping_method", "INFO")
######################################################################
## NAT Traversal Module Parameters
######################################################################
modparam("nat_traversal", "keepalive_interval", 60)
modparam("nat_traversal", "keepalive_method", "OPTIONS")
modparam("nat_traversal", "keepalive_from", "sip:keepalive@ping.sip.2600hz.com")
modparam("nat_traversal", "keepalive_state_file", "/tmp/opensips_keepalive_state")
######################################################################
## Dispatcher Module Parameters
######################################################################
modparam("dispatcher", "list_file", "/usr/local/etc/opensips/dispatcher.list")
modparam("dispatcher", "list_file", "/etc/opensips/dispatcher.list")
modparam("dispatcher", "flags", 2)
modparam("dispatcher", "use_default", 0)
modparam("dispatcher", "force_dst", 1)
@ -242,7 +252,7 @@ modparam("dispatcher", "cnt_avp", "$avp(i:274)")
modparam("dispatcher", "hash_pvar", "$avp(i:273)")
# modparam("dispatcher", "setid_pvar", "$var(setid)")
modparam("dispatcher", "ds_ping_method", "OPTIONS")
modparam("dispatcher", "ds_ping_from", "sip:sipcheck@184.106.172.9:5060")
modparam("dispatcher", "ds_ping_from", "sip:sipcheck@184.106.157.174:5060")
modparam("dispatcher", "ds_ping_interval", 10)
# modparam("dispatcher", "ds_ping_sock", "udp:10.80.25.168:5080")
modparam("dispatcher", "ds_probing_threshhold", 3)
@ -290,11 +300,18 @@ route
exit;
}
if (src_ip==myself)
{
xlog("L_WARN", "Src IP [$ou] from [$si:$sp]");
exit;
}
xlog("L_INFO", "Received [$rm] [$ou] from [$si:$sp]");
xlog("L_DBG", " From: [$fu]");
xlog("L_DBG", " To: [$tu]");
if (is_method("OPTIONS"))
if (is_method("OPTIONS|SUBSCRIBE"))
{
xlog("L_NOTICE", " Method [$rm] is not supported, sending 503 to [$si:$sp]");
@ -305,39 +322,16 @@ route
t_on_reply("1");
if (nat_uac_test("18"))
{
xlog("L_INFO", " Source port is different from the port in Via, force rport");
force_rport();
fix_nated_contact();
if (has_body("application/sdp"))
{
xlog("L_INFO", " Fixing nated SDP, rewritting media and origin with [$si]");
fix_nated_sdp("10");
}
# If this leads to a sucessfull register then flag 5 will cause nat=yes to be append to the contact
# and (when appropriate) the use of the nat_compensator reply branch
setflag(5);
}
t_on_failure("1");
if (has_totag())
{
if (subst_uri('/(sip:.*);nat=yes/\1/'))
{
xlog("L_INFO", " Set reply branch for NAT compensation on this message in the existing dialog");
t_on_reply("nat_compensator");
}
# sequential request withing a dialog should
# take the path determined by record-routing
if (loose_route())
{
append_hf("P-hint: rr-enforced\r\n");
if (is_method("INVITE"))
{
# even if in most of the cases is useless, do RR for
@ -348,6 +342,13 @@ route
#record_route();
}
if ((ds_is_in_list("$si", "$sp", "1") || ds_is_in_list("$si", "$sp", "2")) && is_method("ACK"))
{
xlog("L_INFO", " Stored [$tU] as belonging to media server [$fd]");
cache_store("memcached_callid_hash", "$tU ", "$fd", 3600);
}
# route it out to whatever destination was set by loose_route()
# in $du (destination URI).
route(1);
@ -430,33 +431,38 @@ route
}
# is not from media servers
if (!ds_is_in_list("$si", "$sp", "1") and !ds_is_in_list("$si", "$sp", "2"))
{
if(cache_fetch("memcached_callid_hash", "$ci", $avp(i:55)))
if (!ds_is_in_list("$si", "$sp", "1") && !ds_is_in_list("$si", "$sp", "2"))
{
if ($ct.fields(uri) && cache_fetch("memcached_callid_hash", "$(ct.fields(uri){uri.user})", $avp(i:55)))
{
$rd = $avp(i:55);
xlog("L_INFO", " Reconized contact [$ct.fields(uri)] as belonging to media server [$rd]");
}
else if (cache_fetch("memcached_callid_hash", "$ci", $avp(i:55)))
{
$rd = $avp(i:55);
xlog("L_INFO", " Reconized call-id [$ci] as belonging to media server [$rd]");
if ($ct.fields(uri) && is_method("INVITE"))
{
xlog("L_INFO", " Stored [$(ct.fields(uri){uri.user})] as belonging to media server [$rd]");
cache_store("memcached_callid_hash", "$(ct.fields(uri){uri.user})", "$rd", 3600);
}
}
else
{
xlog("L_INFO", " Selecting domain from set 1 using round-robin");
ds_select_domain("1", "4");
t_on_failure("1");
}
remove_hf("X-AUTH-IP");
append_hf("X-AUTH-IP: $si\r\n");
if (isflagset(5))
{
xlog("L_INFO", " This contact is behind NAT, appending nat=yes to the Contact header");
# "nat=yes" is added to help with in-dialog re-INVITE, UPDATE, etc.
search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
}
}
}
# record routing
if (!is_method("REGISTER|MESSAGE"))
@ -473,6 +479,8 @@ route
route[1]
{
route("nat_test_and_correct");
if (!t_relay())
{
xlog("L_ERR", " Unable to relay [$rm] [$ru] to [$du], sending 500");
@ -485,40 +493,41 @@ route[1]
exit;
}
onreply_route[1]
route[nat_test_and_correct]
{
if (t_check_status("(407)|(401)"))
if (client_nat_test("3"))
{
cache_store("memcached_callid_hash", "$ci ", "$si", 60);
xlog("L_INFO", " NAT (SIP): Private IP in contact field or via address differs from source");
xlog("L_INFO", " Stored call-id [$ci] as belonging to media server [$si]");
}
}
force_rport();
onreply_route[nat_compensator]
{
xlog("L_INFO ", " Compensating reply from NATed message [$rs] [$rr]");
if ((method=="REGISTER" || method=="SUBSCRIBE" || (method=="INVITE" && !has_totag())))
{
xlog("L_INFO", " NAT (SIP): Activating keep alive pings");
if (t_check_status("(407)|(401)"))
{
cache_store("memcached_callid_hash", "$ci ", "$si", 60);
nat_keepalive();
}
xlog("L_INFO", " Stored call-id [$ci] for NATed reply as belonging to media server [$si]");
fix_contact();
}
if (has_body("application/sdp"))
if (has_body("application/sdp") && nat_uac_test("8"))
{
xlog("L_INFO", " Fixing nated reply SDP, rewritting media and origin with [$si]");
xlog("L_INFO", " NAT (SDP): Private IP in SDP");
fix_nated_sdp("10");
}
}
onreply_route[1]
{
route("nat_test_and_correct");
if (is_present_hf("Contact"))
if (t_check_status("(407)|(401)"))
{
xlog("L_INFO", " Fixing nated reply contact header");
cache_store("memcached_callid_hash", "$ci ", "$si", 60);
fix_nated_contact();
#search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
xlog("L_INFO", " Stored call-id [$ci] as belonging to media server [$si]");
}
}
@ -535,12 +544,20 @@ failure_route[1]
ds_mark_dst("p");
if (ds_next_domain())
# if (ds_next_domain())
if(ds_select_domain("1", "4"))
{
xlog("L_ERR", " Hunting for avaliable media server...");
xlog("L_INFO", " Sent [$rm] [$ru] to [$rd]");
if ($ct.fields(uri) && is_method("INVITE"))
{
xlog("L_INFO", " Stored [$(ct.fields(uri){uri.user})] as belonging to media server [$rd]");
cache_store("memcached_callid_hash", "$(ct.fields(uri){uri.user})", "$rd", 3600);
}
t_relay();
exit;
@ -555,3 +572,4 @@ failure_route[1]
exit;
}

+ 8
- 6
sip_profiles/sipinterface_1.xml View File

@ -5,7 +5,7 @@
<settings>
<!-- ACL -->
<param name="auth-calls" value="true"/>
<param name="apply-nat-acl" value="rfc1918"/>
<param name="apply-nat-acl" value="rfc1918.auto"/>
<param name="apply-inbound-acl" value="trusted"/>
<param name="apply-proxy-acl" value="authoritative"/>
<param name="local-network-acl" value="localnet.auto"/>
@ -44,7 +44,7 @@
<!--<param name="outbound-proxy" value="127.0.0.1"/>-->
<!--<param name="sip-domain" value="sip.2600hz.com"/>-->
<!--<param name="contact-user" value="sip.2600hz.com"/>-->
<param name="user-agent-string" value="sip.2600hz.com"/>
<param name="user-agent-string" value="http://www.2600hz.com"/>
<param name="enable-100rel" value="false"/>
<param name="max-proceeding" value="1000"/>
<!--<param name="max-calls" value="250"/>-->
@ -65,11 +65,11 @@
<param name="ext-rtp-ip" value="auto"/>
<param name="rtp-timer-name" value="soft"/>
<param name="rtp-autoflush-during-bridge" value="true"/>
<!--<param name="rtp-rewrite-timestamps" value="true"/>-->
<param name="rtp-rewrite-timestamps" value="true"/>
<!--<param name="disable-rtp-auto-adjust" value="true"/>-->
<!--<param name="rtp-autofix-timing" value="false"/>-->
<!--<param name="auto-rtp-bugs" data="clear"/>-->
<param name="inbound-bypass-media" value="true"/>
<!--<param name="inbound-bypass-media" value="true"/>-->
<!--<param name="media-option" value="resume-media-on-hold"/>-->
<!--<param name="media-option" value="bypass-media-after-att-xfer"/>-->
<!--<param name="rtp-timeout-sec" value="true"/>-->
@ -97,11 +97,13 @@
<param name="dtmf-duration" value="2000"/>
<param name="rfc2833-pt" value="101"/>
<param name="dtmf-type" value="rfc2833"/>
<param name="pass-rfc2833" value="true"/>
<param name="pass-rfc2833" value="false"/>
<!-- Codecs -->
<param name="codec-prefs" value="G729,PCMU"/>
<!--<param name="codec-prefs" value="$${codecs}"/>-->
<param name="inbound-codec-prefs" value="$${codecs}"/>
<param name="outbound-codec-prefs" value="$${codecs}"/>
<param name="inbound-codec-negotiation" value="generous"/>
<param name="inbound-late-negotiation" value="true"/>
<!--<param name="bitpacking" value="aal2"/> -->


Loading…
Cancel
Save