Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Sample 1

Topology

sip.cfg
 // Some comments here
listeners : 
{
    interfaces = (
    {
        default = true;
        ip-address = "10.0.40.5";
        external-address = "10.0.40.5";
        tcp-enabled = false;
        sip-port = 5060;
    },
    {
        ip-address = "192.168.2.2";
        external-address = "192.168.2.2";
        tcp-enabled = false;
        sip-port = 5060;
    } );

   /****************************************************************************
    * The default interface address used to send out requests if not explicitly*
    * set using the java script sendInterfaceAddress() function.  This is also *
    * used by Karoo Bridge command line utilities like the --reset-log-level   *
    * to send the SIP RPC request to the running Karoo Bridge instance.        *
    ****************************************************************************/

    default-interface-address = "10.0.40.5";

   /****************************************************************************
    * The default interface port used to send out requests if not explicitly   *
    * set using the java script sendInterfacePort() function                   *
    ****************************************************************************/

    default-interface-port = 5060;

   /****************************************************************************
    * The low value marker for the TCP client port range                        *
    ****************************************************************************/

    sip-tcp-port-base = 10000;

   /****************************************************************************
    * The high value marker for the TCP client port range                       *
    ****************************************************************************/
    sip-tcp-port-max = 15000;

   /****************************************************************************
    * The low value marker for the RTP proxy port range                        *
    ****************************************************************************/

    rtp-proxy-port-base = 30000;

   /****************************************************************************
    * The high value marker for the RTP proxy port range                       *
    ****************************************************************************/
    rtp-proxy-port-max = 60000;

   /****************************************************************************
    * The read timeout for RTP Proxy before it decides to automatically        *
    * tear down the RTP channel.  This is expressed in seconds.                *
    ****************************************************************************/
    rtp-proxy-read-timeout = 600;

   /****************************************************************************
    * The number of worker threads for the RTP proxy.  Take note that Karoo    *
    * Bridge uses async IO and the number here does not limit the number of RTP*
    * channels that can be supported.  This threadpool will be shared equally  *
    * by all RTP channels.  30 threads has been tested to be enough to cater   *
    * to 1000 RTP proxy sessions                                               *
    ****************************************************************************/
    rtp-proxy-transport-thread-count = 30;


    /***************************************************************************
     * Karoo has a built-in STUN server.  STUN would only work if the server   *
     * Karoo Bridge is installed in has two or more NICs directly routable from*
     * the WAN.  The addresses must be different.  Virtual IP is also ok but is*
     * not advised.  If you don't want to use the default port you can include *
     * a port with the address separated with a colon.                         *
     * Example:  stun-primary-ip = 10.0.40.5:3478                                             *
     ***************************************************************************/
     stun-primary-ip = "";
     stun-secondary-ip = "";

    /***************************************************************************
     * Karoo bridge uses libfreeswitch for sip trunking and transcoding        *
     * functions.  These values set the listener port for the internal event   *
     * layer handler. Since freeswitch is configured independently, the sip    *
     * address used by freeswitch must be made known to Karoo as well          *
     ***************************************************************************/
     switch-event-listener-port = 9000;
     switch-sip-listener-ip = "10.0.40.5";
     switch-sip-listener-port = 5080;
     switch-sip-context = "sofia/karoo";

   /****************************************************************************
    * The packet rate ratio allows the transport to detect a potential DoS     *
    * attack.  It works by detecting the packet read rate per second as        *
    * designated by the upper limit.  If the value of packet rate is 50/100,   *
    * the maximum packet rate before the SBC raises the alert level if a       *
    * potential denial of service attack is 100 packets per second.            *
    * When this happens, the transport layer checks if there is a particular   *
    * IP that is sending more than its allowable rate of 50 packets per second.*
    * If the sender is violating the threshold, it will be banned for 1 hour   *
    * which is the third parameter of 3600 seconds.                            *
    ****************************************************************************/
    packet-rate-ratio = "50/100/3600"; 

   /*****************************************************************************
    * One may statically define a list of known IP addresses or networks so that*
    * they get immunity against the packet-rate-ratio algorithm.  This would    *
    * normally contain the ip addresses of known traffic sources or destinations*
    * like the local iPBX or trunk gateways.  For Call Centers with predictive  *
    * or progressive dialers in the network, it would be wise to also white-list*
    * those applications.                                                       *
    *****************************************************************************/
    packet-rate-white-list = (  
/*       {source-ip = "192.168.1.10";\}, */
        {source-network = "1.1.1.1/4";\}
    \); 
\};

user-agent :
\{
   /****************************************************************************
    * Show your appreciation by not changing this value                        *
    ****************************************************************************/
    user-agent-name = "OSS Karoo Bridge";

    
   /****************************************************************************
    * Karoo bridge uses the contact header to store some states about sip      *
    * session.  It can either do thi by storing a unique id as the user info of*
    * the contact-uri or by storing it as a contact paramameter.  If your      *
    * switch/pbx supports paramaters in contact, setting the two parameters    *
    * below to true is the recommended value.                                  *        
    ****************************************************************************/
    register-state-in-contact-params=false;
    dialog-state-in-contact-params=true;
\};

 
routs.js
function Route()
{
    this.sendRegister(
           "user", "myitsp.com", "passwd", "proxy.myitsp.com", 1800, 0);
    this.sendRegister(
           "user2", "myitsp.com", "passwd2", "proxy.myitsp.com", 1800, 0);
}

Route.prototype = new RouteProfile();

Route.prototype.isRoutable = function()
{
    if (is_mysipdomain_routable(this))
        return true;
    else
        return false;
}
  • No labels