Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Write this in a sane language with proper ESL support. Lua + PHP + fs_ivrd isn't really suited for tasks this big.
  • Integrate with sipXconfig, etc.
  • Multi-tenant/multi-server
  • Call-Info field for compatibility with snom, others
  • Probably a lot more

Setup

Warning

THIS GUIDE ASSUMES YOU ARE INSTALLING ON A FRESH CentOS 5.5 x86_64 SERVER WITHOUT sipXecs ON IT AND THAT YOU'VE ALREADY BUILT FreeSWITCH FROM SOURCE

To start fs_ivrd you'll need to use this init script. Place it in /etc/init.d and mark it executable.

I'm not going to go through the particulars of setting up FreeSWITCH or installing the supporting database. I will give as much detail as possible.

...

Now restart postgresql

FreeSWITCH

Note

Be sure to create a gateway pointing to you FreeSWITCH server in sipXecs and point the appropriate numbers to it

Add the following to your FreeSWITCH dialpan (change expressions to meet your needs):

Code Block
   <extension name="Page Test">
     <condition field="destination_number" expression="^(3402)$">
      <action application="lua" data="/usr/local/freeswitch/scripts/page_outcall.lua $1"/>
      <action application="set" data="ivr_path=/usr/local/freeswitch/scripts/page_int.php"/>
      <action application="socket" data="127.0.0.1:90979090 async full"/>
     </condition>
   </extension>

   <extension name="outbound-socket">
      <condition field="destination_number" expression="^(3403)$">
      <action application="lua" data="/usr/local/freeswitch/scripts/page_time_set.lua"/>
    </condition>
   </extension>

...