[prev in list] [next in list] [prev in thread] [next in thread] 

List:       serusers
Subject:    [Serusers] SER with MYsql could not start
From:       "Amar Tuladhar" <amar () smarttel ! com ! np>
Date:       2009-03-06 11:38:28
Message-ID: 002701c99e4d$955cff20$c016fd60$ () com ! np
[Download RAW message or body]

This is a multipart message in MIME format.

[Attachment #2 (multipart/alternative)]
This is a multipart message in MIME format.


Dear sir,

 

While starting SER I get error:

======================

Mar  6 12:47:23 localhost ser: parse error (28,13-14): failed to load module

Mar  6 12:54:12 localhost ser: ERROR: load_module: could not open module
</usr/local/lib/ser/modules/mysql.so>: /usr/local/lib/ser/modules/mysql.so:
undefined symbol: executor_globals

Mar  6 12:54:12 localhost ser: parse error (28,13-14): failed to load module

 

 

Other info:

=========

[root@localhost log]# mysql -e status -p

Enter password:

--------------

mysql  Ver 14.12 Distrib 5.0.51a, for redhat-linux-gnu (i386) using readline
5.0

 

Connection id:          17

Current database:

Current user:           root@localhost

SSL:                    Not in use

Current pager:          stdout

Using outfile:          ''

Using delimiter:        ;

Server version:         5.0.51a Source distribution

Protocol version:       10

Connection:             Localhost via UNIX socket

Server characterset:    latin1

Db     characterset:    latin1

Client characterset:    latin1

Conn.  characterset:    latin1

UNIX socket:            /var/lib/mysql/mysql.sock

Uptime:                 3 hours 7 min 37 sec

 

Threads: 1  Questions: 971  Slow queries: 0  Opens: 401  Flush tables: 1
Open tables: 64  Queries per second avg: 0.086

--------------

 

SER Version

=========

Server: Sip EXpress router (0.9.7 (i386/linux))

 

 

SER Config file

===========

[root@localhost ser]# cat ser.cfg.mysql

#

# $Id: ser.cfg,v 1.25.2.1 2005/02/18 14:30:44 andrei Exp $

#

# simple quick-start config script

#

 

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

 

debug=7         # 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/ser_fifo"

 

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

 

# Uncomment this if you want to use SQL database

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

 

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

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

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

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

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

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

loadmodule "/usr/local/lib/ser/modules/textops.so"

 

# Uncomment this if you want digest authentication

# mysql.so must be loaded !

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

loadmodule "/usr/local/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)

 

# -- 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("localhost", "subscriber")) {

                                www_challenge("localhost", "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@localhost ser]#

 

 

Hope to receive your solutions, thank you.

Amar Tuladhar

 

 


[Attachment #5 (text/html)]

<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:x="urn:schemas-microsoft-com:office:excel" \
xmlns:p="urn:schemas-microsoft-com:office:powerpoint" \
xmlns:oa="urn:schemas-microsoft-com:office:activation" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Mangal;
	panose-1:0 0 4 0 0 0 0 0 0 0;}
@font-face
	{font-family:Mangal;
	panose-1:0 0 4 0 0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Tahoma","sans-serif";}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";
	font-family:"Tahoma","sans-serif";}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal>Dear sir,<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>While starting SER I get error:<o:p></o:p></p>

<p class=MsoNormal>======================<o:p></o:p></p>

<p class=MsoNormal>Mar&nbsp; 6 12:47:23 localhost ser: parse error (28,13-14):
failed to load module<o:p></o:p></p>

<p class=MsoNormal>Mar&nbsp; 6 12:54:12 localhost ser: ERROR: load_module:
could not open module &lt;/usr/local/lib/ser/modules/mysql.so&gt;:
/usr/local/lib/ser/modules/mysql.so: undefined symbol: \
executor_globals<o:p></o:p></p>

<p class=MsoNormal>Mar&nbsp; 6 12:54:12 localhost ser: parse error (28,13-14):
failed to load module<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Other info:<o:p></o:p></p>

<p class=MsoNormal>=========<o:p></o:p></p>

<p class=MsoNormal>[root@localhost log]# mysql -e status -p<o:p></o:p></p>

<p class=MsoNormal>Enter password:<o:p></o:p></p>

<p class=MsoNormal>--------------<o:p></o:p></p>

<p class=MsoNormal>mysql&nbsp; Ver 14.12 Distrib 5.0.51a, for redhat-linux-gnu
(i386) using readline 5.0<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Connection
id:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17<o:p></o:p></p>

<p class=MsoNormal>Current database:<o:p></o:p></p>

<p class=MsoNormal>Current
user:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
root@localhost<o:p></o:p></p>

<p class=MsoNormal>SSL:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Not in use<o:p></o:p></p>

<p class=MsoNormal>Current
pager:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stdout<o:p></o:p></p>

<p class=MsoNormal>Using
outfile:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ''<o:p></o:p></p>

<p class=MsoNormal>Using delimiter:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
;<o:p></o:p></p>

<p class=MsoNormal>Server
version:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5.0.51a Source
distribution<o:p></o:p></p>

<p class=MsoNormal>Protocol version:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
10<o:p></o:p></p>

<p class=MsoNormal>Connection:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 Localhost via UNIX socket<o:p></o:p></p>

<p class=MsoNormal>Server characterset:&nbsp; &nbsp;&nbsp;latin1<o:p></o:p></p>

<p class=MsoNormal>Db&nbsp;&nbsp;&nbsp;&nbsp; characterset:&nbsp;&nbsp;&nbsp;
latin1<o:p></o:p></p>

<p class=MsoNormal>Client characterset:&nbsp;&nbsp;&nbsp; latin1<o:p></o:p></p>

<p class=MsoNormal>Conn.&nbsp; characterset:&nbsp;&nbsp;&nbsp; latin1<o:p></o:p></p>

<p class=MsoNormal>UNIX
socket:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/var/lib/mysql/mysql.sock<o:p></o:p></p>

<p class=MsoNormal>Uptime:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 3 hours 7 min 37 sec<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Threads: 1&nbsp; Questions: 971&nbsp; Slow queries: 0&nbsp;
Opens: 401&nbsp; Flush tables: 1&nbsp; Open tables: 64&nbsp; Queries per second
avg: 0.086<o:p></o:p></p>

<p class=MsoNormal>--------------<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>SER Version<o:p></o:p></p>

<p class=MsoNormal>=========<o:p></o:p></p>

<p class=MsoNormal>Server: Sip EXpress router (0.9.7 (i386/linux))<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>SER Config file<o:p></o:p></p>

<p class=MsoNormal>===========<o:p></o:p></p>

<p class=MsoNormal>[root@localhost ser]# cat ser.cfg.mysql<o:p></o:p></p>

<p class=MsoNormal>#<o:p></o:p></p>

<p class=MsoNormal># $Id: ser.cfg,v 1.25.2.1 2005/02/18 14:30:44 andrei Exp \
$<o:p></o:p></p>

<p class=MsoNormal>#<o:p></o:p></p>

<p class=MsoNormal># simple quick-start config script<o:p></o:p></p>

<p class=MsoNormal>#<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># ----------- global configuration parameters
------------------------<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>debug=7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
debug level (cmd line: -dddddddddd)<o:p></o:p></p>

<p class=MsoNormal>#fork=yes<o:p></o:p></p>

<p class=MsoNormal>#log_stderror=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
(cmd line: -E)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>/* Uncomment these lines to enter debugging mode<o:p></o:p></p>

<p class=MsoNormal>fork=no<o:p></o:p></p>

<p class=MsoNormal>log_stderror=yes<o:p></o:p></p>

<p class=MsoNormal>*/<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>check_via=no&nbsp;&nbsp;&nbsp; # (cmd. line: -v)<o:p></o:p></p>

<p class=MsoNormal>dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# (cmd. line: -r)<o:p></o:p></p>

<p class=MsoNormal>rev_dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: \
-R)<o:p></o:p></p>

<p class=MsoNormal>#port=5060<o:p></o:p></p>

<p class=MsoNormal>#children=4<o:p></o:p></p>

<p class=MsoNormal>fifo=&quot;/tmp/ser_fifo&quot;<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># ------------------ module loading
----------------------------------<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># Uncomment this if you want to use SQL database<o:p></o:p></p>

<p class=MsoNormal>loadmodule \
&quot;/usr/local/lib/ser/modules/mysql.so&quot;<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>loadmodule \
&quot;/usr/local/lib/ser/modules/sl.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule \
&quot;/usr/local/lib/ser/modules/tm.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule \
&quot;/usr/local/lib/ser/modules/rr.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule \
&quot;/usr/local/lib/ser/modules/maxfwd.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule \
&quot;/usr/local/lib/ser/modules/usrloc.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule
&quot;/usr/local/lib/ser/modules/registrar.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule \
&quot;/usr/local/lib/ser/modules/textops.so&quot;<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># Uncomment this if you want digest authentication<o:p></o:p></p>

<p class=MsoNormal># mysql.so must be loaded !<o:p></o:p></p>

<p class=MsoNormal>loadmodule \
&quot;/usr/local/lib/ser/modules/auth.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule \
&quot;/usr/local/lib/ser/modules/auth_db.so&quot;<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># ----------------- setting module-specific parameters
---------------<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># -- usrloc params --<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>#modparam(&quot;usrloc&quot;,
&quot;db_mode&quot;,&nbsp;&nbsp; 0)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># Uncomment this if you want to use SQL database<o:p></o:p></p>

<p class=MsoNormal># for persistent storage and comment the previous \
line<o:p></o:p></p>

<p class=MsoNormal>modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, \
2)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># -- auth params --<o:p></o:p></p>

<p class=MsoNormal># Uncomment if you are using auth module<o:p></o:p></p>

<p class=MsoNormal>#<o:p></o:p></p>

<p class=MsoNormal>modparam(&quot;auth_db&quot;, &quot;calculate_ha1&quot;,
yes)<o:p></o:p></p>

<p class=MsoNormal>#<o:p></o:p></p>

<p class=MsoNormal># If you set &quot;calculate_ha1&quot; parameter to yes
(which true in this config),<o:p></o:p></p>

<p class=MsoNormal># uncomment also the following parameter)<o:p></o:p></p>

<p class=MsoNormal>#<o:p></o:p></p>

<p class=MsoNormal>modparam(&quot;auth_db&quot;, &quot;password_column&quot;,
&quot;password&quot;)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># -- rr params --<o:p></o:p></p>

<p class=MsoNormal># add value to ;lr param to make some broken UAs \
happy<o:p></o:p></p>

<p class=MsoNormal>modparam(&quot;rr&quot;, &quot;enable_full_lr&quot;, \
1)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># -------------------------&nbsp; request routing logic
-------------------<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># main routing logic<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>route{<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # initial sanity
checks -- messages with<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
max_forwards==0, or excessively long requests<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(!mf_process_maxfwd_header(&quot;10&quot;)) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 break;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (msg:len
&gt;=&nbsp; 2048 ) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 sl_send_reply(&quot;513&quot;, &quot;Message too big&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 break;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;# we record-route
all messages -- to make sure that<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # subsequent
messages will go through our proxy; that's<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # particularly
good if upstream and downstream entities<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # use different
transport protocol<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(!method==&quot;REGISTER&quot;) record_route();<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # subsequent
messages withing a dialog should take the<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # path determined
by record-routing<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(loose_route()) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 # mark routing logic in request<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 append_hf(&quot;P-hint: rr-enforced\r\n&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 route(1);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 break;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!uri==myself)
{<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 # mark routing logic in request<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 append_hf(&quot;P-hint: outbound\r\n&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 route(1);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 break;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;# if the request
is for other domain use UsrLoc<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (in case, it
does not work, use the following command<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # with proper
names and addresses in it)<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (uri==myself)
{<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 if (method==&quot;REGISTER&quot;) {<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># Uncomment this if you want to use digest \
authentication<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 if (!www_authorize(&quot;localhost&quot;, &quot;subscriber&quot;)) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 www_challenge(&quot;localhost&quot;, &quot;0&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 break;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 };<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 save(&quot;location&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 break;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 };<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 lookup(&quot;aliases&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 if (!uri==myself) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 append_hf(&quot;P-hint: outbound alias\r\n&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 route(1);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 break;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 };<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 # native SIP destinations are handled using our USRLOC DB<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 if (!lookup(&quot;location&quot;)) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 sl_send_reply(&quot;404&quot;, &quot;Not Found&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;break;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 };<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
append_hf(&quot;P-hint: usrloc applied\r\n&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
route(1);<o:p></o:p></p>

<p class=MsoNormal>}<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>route[1]<o:p></o:p></p>

<p class=MsoNormal>{<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # send it out
now; use stateful forwarding as it works reliably<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # even for
UDP2TCP<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!t_relay()) \
{<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl_reply_error();<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<o:p></o:p></p>

<p class=MsoNormal>}<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>[root@localhost ser]#<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Hope to receive your solutions, thank you.<o:p></o:p></p>

<p class=MsoNormal>Amar Tuladhar<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

</div>

</body>

</html>



_______________________________________________
Serusers mailing list
Serusers@lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic