Child pages
  • Software SIP - H.323 gateway

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

A short foreword:

Many installed PBX’s are capable of H.323, but it will be difficult to upgrade them to understand SIP. So a challenge to interconnect sipx with existing PBX via H.323 protocol appears. Below is an example implementation via freeswitch/mod_h323.

The principal idea (Thanks Josh) of how to do it documented here: http://wiki.sipfoundry.org/display/sipXecs/Custom+FreeSWITCH+programming

The goal:

The goal is to make the following scheme to work.

sipX  =====sip=====  FS  =====h323=====  PBX

Steps:

  1. Compile FS with mod_h323 on the sipx server.
  2. Create separate FS sofia profile and dial plan.
  3. Configure sipx dialplan.

Step 1. Compile FS with mod_h323.

The main idea of recompiling FS on the sipx server is documented here:
http://wiki.sipfoundry.org/display/sipXecs/HowTo+recompile+Freeswitch+on+a+CentOS+5+sipXecs+install

The difference is that before actually compiling FS with mod_h323 one should compile prerequisite libraries (ptlib, and h323plus). It is documented here: http://wiki.freeswitch.org/wiki/Mod_h323

So the whole sequence will be:

  • In FS source directory edit file modules.conf and uncomment endpoints/mod_h323 line
  • Configure FS with different prefix like this:
    Code Block
    ./configure \--prefix=/usr/local/freeswitch_custom
    
  • Run make, verify that mod_h323 is compiled.
  • Run make install to install FS into configured “prefix” directory.
  • Edit file /usr/bin/freeswitch.sh so that sipx startup scripts will start this newly compiled FS.
  • /usr/local/freeswitch should be changed to /usr/local/freeswitch_custom on lines 47, 118, 120:
    Code Block
    47: {{FS_EXEC="/usr/local/freeswitch_custom/bin/freeswitch \}}
    
    118: {{if \[WikiWelcome: \! \-x /usr/local/freeswitch_custom/bin/freeswitch \]}}
    
    120: {{echo "Error: FreeSWITCH executable is not at /usr/local/freeswitch_custom/bin/freeswitch" >&2}}
    
  • Backup original /usr/bin/freeswitch.sh file with different name, you’ll be able to return to default FS instance at any time.

Now you should be able to stop old and then start new FS instance by

Code Block
sipxproc