[Serusers] Question about SER

Albert Benet abenet at salleURL.edu
Fri Feb 20 20:19:29 CET 2004



	Hi

	I've setted up a TestBed about ToIP based on SIP. In this TestBed I've
used a SER Server running on a Linux Red Hat 9.0.

	I have had several problems with this TestBed for a long time. I cannot
call external phones across the gateway (Cisco 1760). Once the call is
established it lasts 20 second, before this time it hangs up.

	I would like to ask you, if its possible for you to review my
configuration in order to detect any kind of mistake or problem.

Thanks for all your help

Albert
-------------- next part --------------


#

# $Id: ser.cfg,v 1.21 2003/06/04 13:47:36 jiri Exp $

#

# simple quick-start config script

#

 

# ----------- global configuration parameters ------------------------

 

debug=9     # debug level (cmd line: -dddddddddd)

fork=yes

log_stderror=yes    # (cmd line: -E)

 

/* Uncomment these lines to enter debugging mode

debug=7

fork=no

log_stderror=yes

*/

 

check_via=no  # (cmd. line: -v)

dns=no      # (cmd. line: -r)

rev_dns=no   # (cmd. line: -R)

port=5060

children=4

fifo="/tmp/ser_fifo"

 

# ------------------ module loading ----------------------------------

 

# Uncomment this if you want to use SQL database

loadmodule "/usr/lib/ser/modules/mysql.so"

 

loadmodule "/usr/lib/ser/modules/sl.so"

loadmodule "/usr/lib/ser/modules/tm.so"

loadmodule "/usr/lib/ser/modules/rr.so"

loadmodule "/usr/lib/ser/modules/maxfwd.so"

loadmodule "/usr/lib/ser/modules/usrloc.so"

loadmodule "/usr/lib/ser/modules/registrar.so"

 

# Uncomment this if you want digest authentication

# mysql.so must be loaded !

loadmodule "/usr/lib/ser/modules/auth.so"

loadmodule "/usr/lib/ser/modules/auth_db.so"

 

# ----------------- setting module-specific parameters ---------------

 

# -- usrloc params --

 

#modparam("usrloc", "db_mode",  0)

 

# Uncomment this if you want to use SQL database

# for persistent storage and comment the previous line

modparam("usrloc", "db_mode", 2)

modparam("usrloc","db_url","sql://ser:heslo@10.0.14.215/ser")

 

# -- auth params --

# Uncomment if you are using auth module

#

modparam("auth_db","db_url","sql://ser:heslo@10.0.14.215/ser")

modparam("auth_db", "calculate_ha1", yes)

#

# If you set "calculate_ha1" parameter to yes (which true in this config),

# uncomment also the following parameter)

#

modparam("auth_db", "password_column", "password")

 

# -- rr params --

# add value to ;lr param to make some broken UAs happy

modparam("rr", "enable_full_lr", 1)

 

# ------------------------- request routing logic -------------------

 

# main routing logic



alias="salleurl.edu"

alias="10.0.14.3"

route{

 

 # initial sanity checks -- messages with

 # max_forwards==0, or excessively long requests

 if (!mf_process_maxfwd_header("10")) {

   sl_send_reply("483","Too Many Hops");

   break;

 };

 if (len_gt( max_len )) {

   sl_send_reply("513", "Message too big");

   break;

 };

 

 # we record-route all messages -- to make sure that

 # subsequent messages will go through our proxy; that's

 # particularly good if upstream and downstream entities

 # use different transport protocol

 record_route();

 

 # We add aliases lookup

 lookup("aliases");

 

 # loose-route processing

 if (loose_route()) {

   t_relay();

   break;

 };

 

 # if the request is for other domain use UsrLoc

 # (in case, it does not work, use the following command

 # with proper names and addresses in it)

 # if (uri=~"salleurl.edu") { 

   if (method=="REGISTER") {

    log("EXTRA metodo==REGISTER");

 # Uncomment this if you want to use digest      

 # authentication

    if(!www_authorize("salleurl.edu","subscriber")){

      log("EXTRA Usuario no autenticado...vamos a ello");

      www_challenge("salleurl.edu", "0");

      log("EXTRA Usuario autenticado!!");

      break;

    };

    save("location");

    break;

   };

   if (method=="INVITE" || method=="REINVITE") {

    if (src_ip==10.0.14.3) {

      log("EXTRA INVITE desde el GATEWAY");

      if (!lookup("location")) {

        log("EXTRA Usuario no encontrado desde PSTN");

        sl_send_reply("404", "Not Found");

        break;

      };

      } else {

        log("EXTRA INVITE desde un usuario");

        if (!proxy_authorize("salleurl.edu", "subscriber")) {

         log("EXTRA Llamada no autenticada... vamos a ello");

         proxy_challenge("salleurl.edu", "0");

         log("EXTRA Llamada autenticada!!");

         break;

        };

        # Send all calls beginning with 6 or 9 to Cisco Gateway        

        # (now is made with

        # two regexps but will be made with one as soon as i 

        # buy the O'Relly book :)

        if(uri=~"sip:6[0-9]{8}@.*") {

         log("EXTRA Llamada empieza por 6");

         record_route();

         t_relay_to_udp("10.0.14.3","5060");

         log("EXTRA reescribimos el host y puerto del 6");

         break;

        };

        if(uri=~"sip:9[0-9]{8}@.*") {

         log("EXTRA Llamada empieza por 9");

         record_route();

         t_relay_to_udp("10.0.14.3","5060");

         log("EXTRA reescribimos el host y puerto del 9");

         break;

        };

      };

    };

    # native SIP destinations are handled using our USRLOC DB

      if (!lookup("location")) {

        log("EXTRA Usuario no encontrado");

        sl_send_reply("404", "Not Found");

        break;

      };

#   };

    # forward to current uri now; use stateful forwarding; that

    # works reliably even if we forward from TCP to UDP

    if (!t_relay()) {

      sl_reply_error();

    };

}

 

-------------- next part --------------
Building configuration...



Current configuration : 1826 bytes

!

version 12.2

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

!

hostname GW

!

enable secret 5 $1$wbk1$wEvj1xNy2yvUqN8gdR/5B.

!

username GW password 0 GW

ip subnet-zero

!

!

no ip domain lookup

ip name-server 10.0.14.215

!

!

isdn switch-type basic-net3

isdn voice-call-failure 0

!

voice call carrier capacity active

!

voice class codec 1

 codec preference 1 g723r63

 codec preference 2 g723ar63

 codec preference 3 g729br8

 codec preference 4 g729r8

 codec preference 5 g711alaw

 codec preference 6 g711ulaw

!

interface FastEthernet0/0

 ip address 10.0.14.3 255.255.255.0

 speed auto

 no shut

!

interface BRI0/0

 description RDSI 932531082

 no ip address

 isdn switch-type basic-net3

 isdn incoming-voice voice

 no shut

!

interface BRI0/1

 description RDSI 932531081

 no ip address

 isdn switch-type basic-net3

 isdn incoming-voice voice

 no shut

!

ip classless

ip route 0.0.0.0 0.0.0.0 10.0.14.1

no ip http server

ip pim bidir-enable

!

call rsvp-sync

!

voice-port 0/0

 compand-type a-law

 cptone ES

!

voice-port 0/1

 compand-type a-law

 cptone ES

!

dial-peer cor custom

!

dial-peer voice 200 voip

 incoming called-number .........

 destination-pattern .

 voice-class codec 1

 session protocol sipv2

 session target sip-server

 session transport udp

!

dial-peer voice 100 pots

 description 932531081

 destination-pattern .........

 no digit-strip

 direct-inward-dial

 port 0/1

!

dial-peer voice 101 pots

 description 932531082

 destination-pattern .........

 no digit-strip

 direct-inward-dial

 port 0/0

!

Gateway 

!

sip-ua 

 retry invite 3

 retry response 3

 retry bye 3

 retry cancel 3

 timers trying 1000

 sip-server ipv4:10.0.14.215:5060

!

line con 0

line aux 0

line vty 0 4

 exec-timeout 0 0

 login

!

ntp clock-period 17179997

ntp server 130.206.42.224

end





More information about the sr-users mailing list