[Users] Re: Re: no solution yet :( that's why i've decided to write to you

Ozan Blotter cosmocid at ispro.net.tr
Tue Jun 21 14:09:40 CEST 2005


I've changed the config as follows but still i cannot dial, any ideas ?

#
# $Id: openser.cfg,v 1.1.1.1 2005/06/13 16:47:30 bogdan_iancu Exp $
#
# simple quick-start config script
#

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

#debug=3         # debug level (cmd line: -dddddddddd)
#fork=yes
#log_stderror=no        # (cmd line: -E)

/* Uncomment these lines to enter debugging mode
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/openser_fifo"

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

# Uncomment this if you want to use SQL database
#loadmodule "/usr/local/lib/ser/modules/mysql.so"

loadmodule "/usr/lib/openser/modules/sl.so"
loadmodule "/usr/lib/openser/modules/tm.so"
loadmodule "/usr/lib/openser/modules/rr.so"
loadmodule "/usr/lib/openser/modules/maxfwd.so"
loadmodule "/usr/lib/openser/modules/usrloc.so"
loadmodule "/usr/lib/openser/modules/registrar.so"
loadmodule "/usr/lib/openser/modules/textops.so"

# Uncomment this if you want digest authentication
# mysql.so must be loaded !
#loadmodule "/usr/lib/openser/modules/auth.so"
#loadmodule "/usr/lib/openser/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)

# -- auth params --
# Uncomment if you are using auth module
#
#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

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 (msg:len >=  2048 ) {
                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
        if (!method=="REGISTER") record_route();

        # subsequent messages withing a dialog should take the
        # path determined by record-routing
        if (loose_route()) {
                # mark routing logic in request
                append_hf("P-hint: rr-enforced\r\n");
                route(1);
                break;
        };

        if (!uri==myself) {
                # mark routing logic in request
                append_hf("P-hint: outbound\r\n");
                route(1);
                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 (method=="REGISTER") {

# Uncomment this if you want to use digest authentication
#                       if (!www_authorize("openser.org", "subscriber")) {
#                               www_challenge("openser.org", "0");
#                               break;
#                       };

                        save("location");
                        break;
                };

                lookup("aliases");
                        append_hf("P-hint: outbound alias\r\n");
                        route(1);
                        break;

                if(uri=~"^sip:05[0-9]+@") {# call to mobile
                    rewritehost("192.168.1.35");
                    prefix("201");
                        route(1);
                        break;
                };


                # native SIP destinations are handled using our USRLOC DB
                if (!lookup("location")) {
                        sl_send_reply("404", "Not Found");
                        break;
                };

        append_hf("P-hint: usrloc applied\r\n");
        route(1);
}

route[1]
{
        # send it out now; use stateful forwarding as it works reliably
        # even for UDP2TCP
        if (!t_relay()) {
                sl_reply_error();
        };
}


----- Original Message ----- 
From: "Daniel-Constantin Mierla" <daniel at voice-system.ro>
To: "Ozan Blotter" <cosmocid at ispro.net.tr>
Cc: <users at openser.org>
Sent: Tuesday, June 21, 2005 1:39 PM
Subject: Re: no solution yet :( that's why i've decided to write to you


> You have to create a dialing plan for openser also.
>
> In your script, after the block:
>     if (!uri==myself) {
>                # mark routing logic in request
>                append_hf("P-hint: outbound\r\n");
>                route(1);
>                break;
>     };
>
> (Just four your information, you don't need "if (uri==myself)" because 
> will be true all the time)
>
> Back to dialing plan, you have to add some rules like:
>
> if(uri=~"^sip:05[0-9]+@")
> { # call to mobile
>        rewritehost("192.168.1.35 
> <mailto:20105353490056 at 192.168.1.35%29>");
>        prefix("201");
>        route(1);
>        break;
> }
>
> Daniel
>
>
> On 06/20/05 11:00, Ozan Blotter wrote:
>
>> Dear Team,
>>  I know this is annoying to post nearly same things but still no answer 
>> :( Is it really so hard or can anybody tell me why this is not working.
>>  Basically the system is as :
>>  ATA 1 : 12345 (registered and can call 54321, no problem) This is Zyxel 
>> P2002.
>> ATA 2 : 54321 (registered and can call 12345, no problem) This is Zyxel 
>> P2002 too.
>> ANALOG FXO : 201 (registered as 201, for test purposes i only registered 
>> one port of it) This is Eusso 7104-S 4 Port Analog FXO and i can add 3 
>> more ports as available.
>>  With Brekeke's Ondo SIP Proxy, i created a simple dial-plan and it 
>> worked, even i can add more prefixes no problem. But in SER i cannot :( 
>> I'm using OpenSER. Normally it's like when i want to call a GSM, proxy 
>> simply adds a prefix 201 which is same with registered sip number for 
>> regarding analog port and forwards it (looks like 
>> sip:20105353490056 at 192.168.1.35) <mailto:20105353490056 at 192.168.1.35%29> 
>> to Gateway and Gateway simply strips 201 from it and dials 05353490056, 
>> yes it connects. But what this same does not work on SER, any ideas 
>> because it's very boring to play all day and night ?
>>  Thanks....
>>  This is my current SER.CFG as it comes with OPENSER. Can you please help 
>> me to add lines where or/and add remove somethings...
>>  [root at localhost openser]# cat ser.cfg
>> #
>> # $Id: openser.cfg,v 1.1.1.1 2005/06/13 16:47:30 bogdan_iancu Exp $
>> #
>> # simple quick-start config script
>> #
>>  # ----------- global configuration parameters ------------------------
>>  #debug=3         # debug level (cmd line: -dddddddddd)
>> #fork=yes
>> #log_stderror=no        # (cmd line: -E)
>>  /* Uncomment these lines to enter debugging mode
>> 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/openser_fifo"
>>  # ------------------ module loading ----------------------------------
>>  # Uncomment this if you want to use SQL database
>> #loadmodule "/usr/local/lib/ser/modules/mysql.so"
>>  loadmodule "/usr/lib/openser/modules/sl.so"
>> loadmodule "/usr/lib/openser/modules/tm.so"
>> loadmodule "/usr/lib/openser/modules/rr.so"
>> loadmodule "/usr/lib/openser/modules/maxfwd.so"
>> loadmodule "/usr/lib/openser/modules/usrloc.so"
>> loadmodule "/usr/lib/openser/modules/registrar.so"
>> loadmodule "/usr/lib/openser/modules/textops.so"
>>  # Uncomment this if you want digest authentication
>> # mysql.so must be loaded !
>> #loadmodule "/usr/lib/openser/modules/auth.so"
>> #loadmodule "/usr/lib/openser/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)
>>  # -- auth params --
>> # Uncomment if you are using auth module
>> #
>> #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
>>  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 (msg:len >=  2048 ) {
>>                 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
>>         if (!method=="REGISTER") record_route();
>>  # subsequent messages withing a dialog should take the
>>         # path determined by record-routing
>>         if (loose_route()) {
>>                 # mark routing logic in request
>>                 append_hf("P-hint: rr-enforced\r\n");
>>                 route(1);
>>                 break;
>>         };
>>  if (!uri==myself) {
>>                 # mark routing logic in request
>>                 append_hf("P-hint: outbound\r\n");
>>                 route(1);
>>                 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==myself) {
>>  if (method=="REGISTER") {
>>  # Uncomment this if you want to use digest authentication
>> #                       if (!www_authorize("openser.org", "subscriber")) 
>> {
>> #                               www_challenge("openser.org", "0");
>> #                               break;
>> #                       };
>>  save("location");
>>                         break;
>>                 };
>>  lookup("aliases");
>>                 if (!uri==myself) {
>>                         append_hf("P-hint: outbound alias\r\n");
>>                         route(1);
>>                         break;
>>                 };
>>  # native SIP destinations are handled using our USRLOC DB
>>                 if (!lookup("location")) {
>>                         sl_send_reply("404", "Not Found");
>>                         break;
>>                 };
>>         };
>>         append_hf("P-hint: usrloc applied\r\n");
>>         route(1);
>> }
>>  route[1]
>> {
>>         # send it out now; use stateful forwarding as it works reliably
>>         # even for UDP2TCP
>>         if (!t_relay()) {
>>                 sl_reply_error();
>>         };
>> }
>>  [root at localhost openser]#
>>
>>------------------------------------------------------------------------
>>
>>_______________________________________________
>>Team mailing list
>>Team at openser.org
>>http://openser.org/cgi-bin/mailman/listinfo/team
>> 





More information about the sr-users mailing list