I have one AS5300 with :
Cisco Internetwork Operating System Software
IOS (tm) 5300 Software (C5300-JS-M), Version 12.1(1)T, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2000 by cisco Systems, Inc.
Compiled Sun 19-Mar-00 01:19 by ccai
Image text-base: 0x600088F8, data-base: 0x61150000
ROM: System Bootstrap, Version 11.2(9)XA, RELEASE SOFTWARE (fc2)
BOOTFLASH: 5300 Software (C5300-BOOT-M), Version 12.0(4)T1, RELEASE SOFTWARE
()
tahoGWPSTNUDI uptime is 3 minutes
System returned to ROM by reload at 00:06:02 UTC Sat Jan 1 2000
System image file is "flash:c5300-js-mz.121-1.T"
cisco AS5300 (R4K) processor (revision A.32) with 65536K/16384K bytes of
memory.
Processor board ID 10080984
R4700 CPU at 150Mhz, Implementation 33, Rev 1.0, 512KB L2 Cache
Channelized E1, Version 1.0.
Bridging software.
X.25 software, Version 3.0.0.
SuperLAT software (copyright 1990 by Meridian Technology Corp).
TN3270 Emulation software.
Primary Rate ISDN software, Version 1.1Backplane revision 2
Manufacture Cookie Info:
EEPROM Type 0x0001, EEPROM Version 0x01, Board ID 0x30,
Board Hardware Version 3.2, Item Number 73-2414-6,
Board Revision C0, Serial Number 10080984,
PLD/ISP Version 255.255, Manufacture Date 14-Oct-1998.
1 Ethernet/IEEE 802.3 interface(s)
1 FastEthernet/IEEE 802.3 interface(s)
35 Serial network interface(s)
240 terminal line(s)
8 Channelized E1/PRI port(s)
128K bytes of non-volatile configuration memory.
16384K bytes of processor board System flash (Read/Write)
8192K bytes of processor board Boot flash (Read/Write)
Directory of flash:/
1 -rw- 9358184 <no date> c5300-js-mz.121-1.T
2 -rw- 465798 <no date> pw.2711.ios
but i can't configure codecs
i enter into voice-class e
enter preference codec but don't accept
somebody know with more need me .
thks a lot
Welesley Sibelson Dias
I have been playnig with SER for a few weeks now on an internal
network (all 192.168.X.X) I now want to set up SER to handle NAT so
that I can give it a public IP and have my Cisco ATA188's and X-Lite
Softphones connect from anywhere. I followed the guide/instructions
fron www.onsip.org I ahve SER-0.9 and MediaProxy1.3 up and running.
Using the same ser.cfg from onsip.org I thought things were good. I
can call from one internal Cisco ATA to another, but there is no
sound. During the call if I run sessions.py I see the call although
the from and To IP addesses are "XXX.XXX.XXX.XXX" and the status is
"Inactive". I assume that is correct as it shouldn't use proxying for
an internal to internal call. I am NOT using mediaidspather as both
SER and MediaProxy are on the same machine. I want to get internal to
internal calling to work before I go back to testing NAT. I am not
sure how to debug this further. Any help would be great. Below is my
ser.cfg, and mediaproxy.ini
SER.cfg
# file with Nat'ing setup
#
#set all Master Level Flags
#
debug=3
#fork=yes
#log_stderror=no
/*
fork=no
log_stderror=yes
*/
dns=no
rev_dns=no
fifo="/tmp/ser_fifo"
#
# Load all Modules
#
loadmodule "//lib/ser/modules/mysql.so"
loadmodule "//lib/ser/modules/sl.so"
loadmodule "//lib/ser/modules/tm.so"
loadmodule "//lib/ser/modules/rr.so"
loadmodule "//lib/ser/modules/maxfwd.so"
loadmodule "//lib/ser/modules/usrloc.so"
loadmodule "//lib/ser/modules/registrar.so"
loadmodule "//lib/ser/modules/auth.so"
loadmodule "//lib/ser/modules/auth_db.so"
loadmodule "//lib/ser/modules/uri.so"
loadmodule "//lib/ser/modules/uri_db.so"
#loadmodule "//lib/ser/modules/avpops.so"
loadmodule "//lib/ser/modules/textops.so"
loadmodule "//lib/ser/modules/domain.so"
loadmodule "//lib/ser/modules/mediaproxy.so"
loadmodule "//lib/ser/modules/nathelper.so"
#
#Set Module Parameters
#
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")
modparam("nathelper", "rtpproxy_disable", 1)
modparam("nathelper", "natping_interval", 0)
modparam("mediaproxy","natping_interval", 30)
modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock")
modparam("mediaproxy","sip_asymmetrics","/etc/ser/sip-clients")
modparam("mediaproxy","rtp_asymmetrics","/etc/ser/rtp-clients")
modparam("usrloc", "db_mode", 2)
modparam("registrar", "nat_flag", 6)
modparam("rr", "enable_full_lr", 1)
#
# begin Main Route Block
#
route {
# -----------------------------------------------------------------
# Sanity Check Section
# -----------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483", "Too Many Hops");
break;
};
if (msg:len > max_len) {
sl_send_reply("513", "Message Overflow");
break;
};
# -----------------------------------------------------------------
# Record Route Section
# -----------------------------------------------------------------
/*if (method=="INVITE" && client_nat_test("3")) {*/
if (method=="INVITE") {
#record_route_preset("192.168.122.135:5060;nat=yes"); # insert IP address
#} else if (method!="REGISTER") {
record_route();
};
# -----------------------------------------------------------------
# Call Tear Down Section
# -----------------------------------------------------------------
if (method=="BYE" || method=="CANCEL") {
end_media_session();
};
# -----------------------------------------------------------------
# Loose Route Section
# -----------------------------------------------------------------
if (loose_route()) {
if (has_totag() && method=="INVITE") {
if (client_nat_test("3") || search("^Route:.*;nat=yes")) {
setflag(6);
# use_media_proxy();
};
};
route(1);
break;
};
# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------
if (uri==myself) {
if (method=="INVITE") {
route(3);
break;
} else if (method=="REGISTER") {
route(2);
break;
};
if (!lookup("location")) {
if (uri=~"^sip:30") {
rewritehost("162.168.191.1");
};
if (uri=~"^sip:83") {
rewritehost("192.168.194.1");
};
};
route(1);
};
}
route[1] {
# Default Message Handler
# -----------------------------------------------------------------
t_on_reply("1");
if (!t_relay()) {
if (method=="INVITE" || method=="ACK") {
end_media_session();
};
sl_reply_error();
};
}
route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler
# ----------------------------------------------------------------
sl_send_reply("100", "Trying");
if (!search("^Contact: \*") && client_nat_test("7")) {
setflag(6);
fix_nated_register();
force_rport();
};
if (!www_authorize("a.b.c ","subscriber")) {
www_challenge("a.b.c ","0");
break;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
break;
};
consume_credentials();
if (!save("location")) {
sl_reply_error();
};
}
route[3] {
# -----------------------------------------------------------------
# INVITE Message Handler
# -----------------------------------------------------------------
if (client_nat_test("3")) {
setflag(7);
force_rport();
fix_nated_contact();
};
if (!lookup("location")) {
if (uri=~"^sip:30") {
rewritehost("162.168.191.1");
};
if (uri=~"^sip:83") {
rewritehost("192.168.194.1");
};
};
if (!proxy_authorize("a.b.c ","subscriber")) {
proxy_challenge("a.b.c","0");
break;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
break;
};
consume_credentials();
if (isflagset(6) || isflagset(7)) {
use_media_proxy();
};
route(1);
}
onreply_route[1] {
if ((isflagset(6) || isflagset(7)) && (status=~"(180)|(183)|2[0-9][0-9]")) {
if (!search("^Content-Length:\ 0")) {
use_media_proxy();
};
};
if (client_nat_test("1")) {
fix_nated_contact();
};
}
Mediaproxy.ini
;
; Configuration file for MediaProxy
;
[Dispatcher]
;socket = /var/run/proxydispatcher.sock
;group = ser
;defaultProxy = /var/run/mediaproxy.sock
[MediaProxy]
;socket = /var/run/mediaproxy.sock
;group = ser
;listen = None
allow = any
;proxyIP = 10.0.0.1
;portRange = 35000:65000
;TOS = 0xb8
;idleTimeout = 60
;holdTimeout = 3600
;forceClose = 0
accounting = off
[Accounting]
user = dbuser
password = dbpass
host = dbhost
database = radius
table = radacct
Hello,
is it possible to do regex-manipulation on the RURI?
RURI-in aaaa-bbbb-ccccccccccccccc
Regex ([aaaaa])-([bbbb])-([c*])
RURI-out \1-\3
With best regards,
Martin Koenig
By the way I have tried dropping the tbale manually: mysqladmin -u
root -p <password> drop ser
then /opt/ser/sbin/ser_mysql.sh create.
>
>---- Original Message ----
>From: ashling.odriscoll(a)cit.ie
>To: greger(a)teigre.com, ashling.odriscoll(a)cit.ie
>Subject: Re: [Serusers] Starting SER : PID file
>exists(/var/run/ser.pid)already running?
>Date: Mon, 11 Apr 2005 17:17:44 +0100
>
>>Hi Greger,
>>
>>The error seems to be ERROR: : fix_expr : fix_actions error
>>
>>I reckon this is something got to do with mysql database because I
>>dont think it updated. However when I do /opt/ser/sbin/ser_mysql.sh
>>drop and /opt/ser/sbin/ser_mysql.sh, the database still isnt updated
>>i.e. it has a column "version" instead of "table_version" in the
>>version table of the SER database. What can I do??
>>
>>localhost:~ # /opt/ser/sbin/ser -D -E
>>Listening on
>> udp: 127.0.0.1 [127.0.0.1]:5060
>> udp: 157.190.74.152 [157.190.74.152]:5060
>> tcp: 127.0.0.1 [127.0.0.1]:5060
>> tcp: 157.190.74.152 [157.190.74.152]:5060
>>Aliases:
>> tcp: localhost.localdomain:5060
>> tcp: localhost:5060
>> udp: localhost.localdomain:5060
>> udp: localhost:5060
>> *: 157.190.74.152:5060:*
>>
>>WARNING: no fork mode and more than one listen address found(will
>>use only the the first one)
>>stateless - initializing
>> 0(0) Maxfwd module- initializing
>>textops - initializing
>> 0(0) db_url=(nil)
>> 0(0) db_url=
>> 0(0) db_url.len=0
>> 0(0) pa_domain=sip.handhelds.org
>> 0(0) pa_mod: use_db=0 db_url.s= pa_domain=sip.handhelds.org
>> 0(0) pa_mod_init done
>> 0(0) submit_query(): Unknown column 'table_version' in 'field list'
>> 0(0) submit_query(): Error while submitting query
>> 0(0) table_version(): Error in db_query
>> 0(0) register_udomain(): Error while querying table version
>> 0(0) domain_fixup(): Error while registering domain
>> 0(0) ERROR: fix_expr : fix_actions error
>>ERROR: error -1 while trying to fix configuration
>>localhost:~ # /opt/ser/sbin/ser -c
>>Listening on
>> udp: 127.0.0.1 [127.0.0.1]:5060
>> udp: 157.190.74.152 [157.190.74.152]:5060
>> tcp: 127.0.0.1 [127.0.0.1]:5060
>> tcp: 157.190.74.152 [157.190.74.152]:5060
>>Aliases:
>> tcp: localhost.localdomain:5060
>> tcp: localhost:5060
>> udp: localhost.localdomain:5060
>> udp: localhost:5060
>> *: 157.190.74.152:5060:*
>>
>>config file ok, exiting...
>>>
>>>---- Original Message ----
>>>From: greger(a)teigre.com
>>>To: ashling.odriscoll(a)cit.ie
>>>Subject: Re: [Serusers] Starting SER : PID file
>>>exists(/var/run/ser.pid)already running?
>>>Date: Sun, 10 Apr 2005 11:39:19 +0200
>>>
>>>>Seems like the output from the end of SER's exit. Could you post
>the
>>>whole
>>>>output? Somewhere you should have an error...
>>>>g-)
>>>>
>>>>Aisling O'Driscoll wrote:
>>>>> Hello,
>>>>>
>>>>> If I start SER with "ser -d -d -d -d -d -d -d -D -E". I get
>>>something
>>>>> like the following:
>>>>>
>>>>> 0(0) qm_free(0x8109b00, 0x8145548), called from script_cb.c:
>>>>> destroy_script_cb(81)
>>>>> 0(0) qm_free: freeing frag. 0x8145530 alloc'ed from script_cb.c:
>>>>> register_script_cb(53)
>>>>> 0(0) qm_free(0x8109b00, 0x8145850), called from script_cb.c:
>>>>> destroy_script_cb(83)
>>>>> 0(0) qm_free: freeing frag. 0x8145838 alloc'ed from script_cb.c:
>>>>> register_script_cb(53)
>>>>> 0(0) qm_free(0x4045b000, 0x4049153c), called from main.c:
>>>>> cleanup(373)
>>>>> 0(0) qm_free: freeing frag. 0x40491524 alloc'ed from main.c:
>>>>> main(1534)
>>>>> 0(13787) shm_mem_destroy
>>>>> 0(13787) destroying the shared memory lock
>>>>> localhost:/opt/ser/sbin # pstree
>>>>>
>>>>> ....Does that explain anything? Again when I do pstree, I see 2*
>>>>> [ser] instead of the usual 27 *[ser].
>>>>>
>>>>> Kindest regards,
>>>>> Aisling
>>>>>>
>>>>>> ---- Original Message ----
>>>>>> From: greger(a)teigre.com
>>>>>> To: ashling.odriscoll(a)cit.ie, llanosserna(a)hotmail.com
>>>>>> Subject: Re: [Serusers] Starting SER : PID file
>>>>>> exists(/var/run/ser.pid)already running?
>>>>>> Date: Fri, 8 Apr 2005 19:30:22 +0200
>>>>>>
>>>>>>> Try to start ser up in debug/no-fork mode!! You will see if
>it
>>>>>> crashes.
>>>>>>> g-)
>>>>>>>
>>>>>>> Aisling O'Driscoll wrote:
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> When I removed the ser.pid file from /var/run and ran
>>>>>>>> /opt/ser/sbin/serctl start, it said SER had started. Then
>when
>>>I
>>>>>> look
>>>>>>>> at pstree, I see 2 * [ser]. However usually when SER is
>working
>>>>>>>> properly it says 27 * [ser]. When I check netstat -tunap, I
>>>dont
>>>>>> see
>>>>>>>> SER working.
>>>>>>>>
>>>>>>>> Any other ideas?
>>>>>>>>
>>>>>>>> ---- Original Message ----
>>>>>>>> From: llanosserna(a)hotmail.com
>>>>>>>> To: ashling.odriscoll(a)cit.ie
>>>>>>>> Subject: RE: [Serusers] Starting SER : PID file exists
>>>>>>>> (/var/run/ser.pid)already running?
>>>>>>>> Date: Fri, 08 Apr 2005 13:53:25 +0200
>>>>>>>>
>>>>>>>>> <html><div style='background-color:'><DIV class=RTE></DIV>
>>>>>>>>> <P>Make sure ser is not running with a </P>
>>>>>>>>> <P>>ps -ef</P>
>>>>>>>>> <P>I fit's not there, just remove the pid file</P>
>>>>>>>>> <P>>rm /var/run/ser.pid</P>
>>>>>>>>> <P>And then you should be able to start ser</P>
>>>>>>>>> <P> </P>
>>>>>>>>> <P> </P>
>>>>>>>>> <P> </P>
>>>>>>>>> <DIV class=RTE>>Hi, </DIV>
>>>>>>>>> <DIV></DIV>>
>>>>>>>>> <DIV></DIV>>I am wondering if anyone has ever come across
>>>this
>>>>>>>>> error before?:
>>>>>>>>> <DIV></DIV>>
>>>>>>>>> <DIV></DIV>>Starting SER : PID file exists!
>>>(/var/run/ser.pid)
>>>>>>>>> already running?
>>>>>>>>> <DIV></DIV>>
>>>>>>>>> <DIV></DIV>>I am using ser 0.9.0 and it worked like a
>charm
>>>>>> the
>>>>>>>>> first few times
>>>>>>>>> <DIV></DIV>>that I stopped and started SER. There are no
>>>>>> errors in
>>>>>>>>> <DIV></DIV>>/var/log/messages. I also started SER as
>>>>>>>>> /opt/ser/sbin/ser -c and it
>>>>>>>>> <DIV></DIV>>showed that the config was ok and exited.
>>>However
>>>>>> when
>>>>>>>>> I check
>>>>>>>>> <DIV></DIV>>pstree, I dont see SER listening.
>>>>>>>>> <DIV></DIV>>
>>>>>>>>> <DIV></DIV>>Could it perhaps be something got to do with
>>>the
>>>>>>>>> database?. Example:
>>>>>>>>> <DIV></DIV>>Should the version table in the SER database
>>>>>> contain
>>>>>>>>> "version" or
>>>>>>>>> <DIV></DIV>>"table_version"? I have tried dropping and
>>>>>> restarting
>>>>>>>>> the database
>>>>>>>>> <DIV></DIV>>i.e. /opt/ser/sbin/ser_mysql.sh drop, then
>>>>>>>>> <DIV></DIV>>./opt/ser/sbin/ser_mysql.sh create.
>>>>>>>>> <DIV></DIV>>
>>>>>>>>> <DIV></DIV>>Any ideas would be appreciated.
>>>>>>>>> <DIV></DIV>>Thanks,
>>>>>>>>> <DIV></DIV>>Aisling.
>>>>>>>>> <DIV></DIV>>
>>>>>>>>> <DIV></DIV>>
>>>>>>>>>
>>>>>>
>>><DIV></DIV>>-------------------Legal Disclaimer------
>--
>>>>>>>>> -------------------------------
>>>>>>>>> <DIV></DIV>>
>>>>>>>>> <DIV></DIV>>The above electronic mail transmission is
>>>>>> confidential
>>>>>>>>> and intended only for the person to whom it is addressed.
>Its
>>>>>>>>> contents may be protected by legal and/or professional
>>>privilege.
>>>>>>>>> Should it be received by you in error please contact the
>>>sender
>>>>>> at
>>>>>>>>> the above quoted email address. Any unauthorised form of
>>>>>> reproduction
>>>>>>>>> of this message is strictly prohibited. The Institute does
>not
>>>>>>>>> guarantee the security of any information electronically
>>>>>> transmitted
>>>>>>>>> and is not liable if the information contained in this
>>>>>> communication
>>>>>>>>> is not a proper and complete record of the message as
>>>transmitted
>>>>>> by
>>>>>>>>> the sender nor for any delay in its receipt.
>>>>>>>>> <DIV></DIV>>
>>>>>>>>>
><DIV></DIV>>_______________________________________________
>>>>>>>>> <DIV></DIV>>Serusers mailing list
>>>>>>>>> <DIV></DIV>>Serusers(a)iptel.org
>>>>>>>>>
><DIV></DIV>>http://mail.iptel.org/mailman/listinfo/serusers
>>>>>>>>> <DIV></DIV></div></html>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -------------------Legal
>>>>>>>>> Disclaimer---------------------------------------
>>>>>>>>>
>>>>>>>>> The above electronic mail transmission is confidential and
>>>>>> intended
>>>>>>>>> only for the person to whom it is addressed. Its contents
>may
>>>be
>>>>>>>>> protected by legal and/or professional privilege. Should it
>be
>>>>>>>>> received by you in error please contact the sender at the
>>>above
>>>>>>>>> quoted email address. Any unauthorised form of reproduction
>of
>>>>>> this
>>>>>>>>> message is strictly prohibited. The Institute does not
>>>guarantee
>>>>>> the
>>>>>>>>> security of any information electronically transmitted and
>is
>>>not
>>>>>>>>> liable if the information contained in this communication is
>>>not
>>>>>> a
>>>>>>>>> proper and complete record of the message as transmitted by
>>>the
>>>>>>>>> sender nor for any delay in its receipt.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -------------------Legal
>>>>>>>> Disclaimer---------------------------------------
>>>>>>>>
>>>>>>>> The above electronic mail transmission is confidential and
>>>>>> intended
>>>>>>>> only for the person to whom it is addressed. Its contents may
>>>be
>>>>>>>> protected by legal and/or professional privilege. Should it
>be
>>>>>>>> received by you in error please contact the sender at the
>above
>>>>>>>> quoted email address. Any unauthorised form of reproduction
>of
>>>>>> this
>>>>>>>> message is strictly prohibited. The Institute does not
>>>guarantee
>>>>>> the
>>>>>>>> security of any information electronically transmitted and is
>>>not
>>>>>>>> liable if the information contained in this communication is
>>>not a
>>>>>>>> proper and complete record of the message as transmitted by
>the
>>>>>>>> sender nor for any delay in its receipt.
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Serusers mailing list
>>>>>>>> Serusers(a)iptel.org
>>>>>>>> http://mail.iptel.org/mailman/listinfo/serusers
>>>>>>>
>>>>>>> -------------------Legal
>>>>>> Disclaimer---------------------------------------
>>>>>>>
>>>>>>> The above electronic mail transmission is confidential and
>>>intended
>>>>>> only for the person to whom it is addressed. Its contents may
>be
>>>>>> protected by legal and/or professional privilege. Should it be
>>>>>> received by you in error please contact the sender at the above
>>>>>> quoted email address. Any unauthorised form of reproduction of
>>>this
>>>>>> message is strictly prohibited. The Institute does not
>guarantee
>>>the
>>>>>> security of any information electronically transmitted and is
>not
>>>>>> liable if the information contained in this communication is
>not
>>>a
>>>>>> proper and complete record of the message as transmitted by the
>>>>>> sender nor for any delay in its receipt.
>>>>>
>>>>>
>>>>> -------------------Legal
>>>>> Disclaimer---------------------------------------
>>>>>
>>>>> The above electronic mail transmission is confidential and
>>>intended
>>>>> only for the person to whom it is addressed. Its contents may be
>>>>> protected by legal and/or professional privilege. Should it be
>>>>> received by you in error please contact the sender at the above
>>>>> quoted email address. Any unauthorised form of reproduction of
>>>this
>>>>> message is strictly prohibited. The Institute does not guarantee
>>>the
>>>>> security of any information electronically transmitted and is
>not
>>>>> liable if the information contained in this communication is not
>a
>>>>> proper and complete record of the message as transmitted by the
>>>>> sender nor for any delay in its receipt.
>>>>
>>>>
>>>>-------------------Legal
>>>Disclaimer---------------------------------------
>>>>
>>>>The above electronic mail transmission is confidential and
>intended
>>>only for the person to whom it is addressed. Its contents may be
>>>protected by legal and/or professional privilege. Should it be
>>>received by you in error please contact the sender at the above
>>>quoted email address. Any unauthorised form of reproduction of this
>>>message is strictly prohibited. The Institute does not guarantee
>the
>>>security of any information electronically transmitted and is not
>>>liable if the information contained in this communication is not a
>>>proper and complete record of the message as transmitted by the
>>>sender nor for any delay in its receipt.
-------------------Legal Disclaimer---------------------------------------
The above electronic mail transmission is confidential and intended only for the person to whom it is addressed. Its contents may be protected by legal and/or professional privilege. Should it be received by you in error please contact the sender at the above quoted email address. Any unauthorised form of reproduction of this message is strictly prohibited. The Institute does not guarantee the security of any information electronically transmitted and is not liable if the information contained in this communication is not a proper and complete record of the message as transmitted by the sender nor for any delay in its receipt.
Ok I still have this error. However I have manageed to start SER
another way.
I did "find / -name ser_mysql.sh" beacuse I thought the problem
stemmed from my database. I then deleted all the ser_mysql.sh scripts
that werent supposed to exists out the /opt/ser directories. i did a
manual drop the database and then started the mysql script as
/opt/ser/sbin/ser_mysql.sh create. This worked and the tables are
updated e.g. verion is now table_version.
I still get an error when I start SER as /opt/ser/sbin/serctl start
(PID already exists). However the server works when i start it as ser
-d -E.
---- Original Message ----
From: ashling.odriscoll(a)cit.ie
To: ashling.odriscoll(a)cit.ie, greger(a)teigre.com,
ashling.odriscoll(a)cit.ie
Subject: Re: [Serusers] Starting SER : PID file
exists(/var/run/ser.pid)already running?
Date: Mon, 11 Apr 2005 17:26:11 +0100
>By the way I have tried dropping the tbale manually: mysqladmin -u
>root -p <password> drop ser
>then /opt/ser/sbin/ser_mysql.sh create.
>
>>
>>---- Original Message ----
>>From: ashling.odriscoll(a)cit.ie
>>To: greger(a)teigre.com, ashling.odriscoll(a)cit.ie
>>Subject: Re: [Serusers] Starting SER : PID file
>>exists(/var/run/ser.pid)already running?
>>Date: Mon, 11 Apr 2005 17:17:44 +0100
>>
>>>Hi Greger,
>>>
>>>The error seems to be ERROR: : fix_expr : fix_actions error
>>>
>>>I reckon this is something got to do with mysql database because I
>>>dont think it updated. However when I do /opt/ser/sbin/ser_mysql.sh
>>>drop and /opt/ser/sbin/ser_mysql.sh, the database still isnt
>updated
>>>i.e. it has a column "version" instead of "table_version" in the
>>>version table of the SER database. What can I do??
>>>
>>>localhost:~ # /opt/ser/sbin/ser -D -E
>>>Listening on
>>> udp: 127.0.0.1 [127.0.0.1]:5060
>>> udp: 157.190.74.152 [157.190.74.152]:5060
>>> tcp: 127.0.0.1 [127.0.0.1]:5060
>>> tcp: 157.190.74.152 [157.190.74.152]:5060
>>>Aliases:
>>> tcp: localhost.localdomain:5060
>>> tcp: localhost:5060
>>> udp: localhost.localdomain:5060
>>> udp: localhost:5060
>>> *: 157.190.74.152:5060:*
>>>
>>>WARNING: no fork mode and more than one listen address found(will
>>>use only the the first one)
>>>stateless - initializing
>>> 0(0) Maxfwd module- initializing
>>>textops - initializing
>>> 0(0) db_url=(nil)
>>> 0(0) db_url=
>>> 0(0) db_url.len=0
>>> 0(0) pa_domain=sip.handhelds.org
>>> 0(0) pa_mod: use_db=0 db_url.s= pa_domain=sip.handhelds.org
>>> 0(0) pa_mod_init done
>>> 0(0) submit_query(): Unknown column 'table_version' in 'field
>list'
>>> 0(0) submit_query(): Error while submitting query
>>> 0(0) table_version(): Error in db_query
>>> 0(0) register_udomain(): Error while querying table version
>>> 0(0) domain_fixup(): Error while registering domain
>>> 0(0) ERROR: fix_expr : fix_actions error
>>>ERROR: error -1 while trying to fix configuration
>>>localhost:~ # /opt/ser/sbin/ser -c
>>>Listening on
>>> udp: 127.0.0.1 [127.0.0.1]:5060
>>> udp: 157.190.74.152 [157.190.74.152]:5060
>>> tcp: 127.0.0.1 [127.0.0.1]:5060
>>> tcp: 157.190.74.152 [157.190.74.152]:5060
>>>Aliases:
>>> tcp: localhost.localdomain:5060
>>> tcp: localhost:5060
>>> udp: localhost.localdomain:5060
>>> udp: localhost:5060
>>> *: 157.190.74.152:5060:*
>>>
>>>config file ok, exiting...
>>>>
>>>>---- Original Message ----
>>>>From: greger(a)teigre.com
>>>>To: ashling.odriscoll(a)cit.ie
>>>>Subject: Re: [Serusers] Starting SER : PID file
>>>>exists(/var/run/ser.pid)already running?
>>>>Date: Sun, 10 Apr 2005 11:39:19 +0200
>>>>
>>>>>Seems like the output from the end of SER's exit. Could you post
>>the
>>>>whole
>>>>>output? Somewhere you should have an error...
>>>>>g-)
>>>>>
>>>>>Aisling O'Driscoll wrote:
>>>>>> Hello,
>>>>>>
>>>>>> If I start SER with "ser -d -d -d -d -d -d -d -D -E". I get
>>>>something
>>>>>> like the following:
>>>>>>
>>>>>> 0(0) qm_free(0x8109b00, 0x8145548), called from script_cb.c:
>>>>>> destroy_script_cb(81)
>>>>>> 0(0) qm_free: freeing frag. 0x8145530 alloc'ed from
>script_cb.c:
>>>>>> register_script_cb(53)
>>>>>> 0(0) qm_free(0x8109b00, 0x8145850), called from script_cb.c:
>>>>>> destroy_script_cb(83)
>>>>>> 0(0) qm_free: freeing frag. 0x8145838 alloc'ed from
>script_cb.c:
>>>>>> register_script_cb(53)
>>>>>> 0(0) qm_free(0x4045b000, 0x4049153c), called from main.c:
>>>>>> cleanup(373)
>>>>>> 0(0) qm_free: freeing frag. 0x40491524 alloc'ed from main.c:
>>>>>> main(1534)
>>>>>> 0(13787) shm_mem_destroy
>>>>>> 0(13787) destroying the shared memory lock
>>>>>> localhost:/opt/ser/sbin # pstree
>>>>>>
>>>>>> ....Does that explain anything? Again when I do pstree, I see
>2*
>>>>>> [ser] instead of the usual 27 *[ser].
>>>>>>
>>>>>> Kindest regards,
>>>>>> Aisling
>>>>>>>
>>>>>>> ---- Original Message ----
>>>>>>> From: greger(a)teigre.com
>>>>>>> To: ashling.odriscoll(a)cit.ie, llanosserna(a)hotmail.com
>>>>>>> Subject: Re: [Serusers] Starting SER : PID file
>>>>>>> exists(/var/run/ser.pid)already running?
>>>>>>> Date: Fri, 8 Apr 2005 19:30:22 +0200
>>>>>>>
>>>>>>>> Try to start ser up in debug/no-fork mode!! You will see if
>>it
>>>>>>> crashes.
>>>>>>>> g-)
>>>>>>>>
>>>>>>>> Aisling O'Driscoll wrote:
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> When I removed the ser.pid file from /var/run and ran
>>>>>>>>> /opt/ser/sbin/serctl start, it said SER had started. Then
>>when
>>>>I
>>>>>>> look
>>>>>>>>> at pstree, I see 2 * [ser]. However usually when SER is
>>working
>>>>>>>>> properly it says 27 * [ser]. When I check netstat -tunap, I
>>>>dont
>>>>>>> see
>>>>>>>>> SER working.
>>>>>>>>>
>>>>>>>>> Any other ideas?
>>>>>>>>>
>>>>>>>>> ---- Original Message ----
>>>>>>>>> From: llanosserna(a)hotmail.com
>>>>>>>>> To: ashling.odriscoll(a)cit.ie
>>>>>>>>> Subject: RE: [Serusers] Starting SER : PID file exists
>>>>>>>>> (/var/run/ser.pid)already running?
>>>>>>>>> Date: Fri, 08 Apr 2005 13:53:25 +0200
>>>>>>>>>
>>>>>>>>>> <html><div style='background-color:'><DIV class=RTE></DIV>
>>>>>>>>>> <P>Make sure ser is not running with a </P>
>>>>>>>>>> <P>>ps -ef</P>
>>>>>>>>>> <P>I fit's not there, just remove the pid file</P>
>>>>>>>>>> <P>>rm /var/run/ser.pid</P>
>>>>>>>>>> <P>And then you should be able to start ser</P>
>>>>>>>>>> <P> </P>
>>>>>>>>>> <P> </P>
>>>>>>>>>> <P> </P>
>>>>>>>>>> <DIV class=RTE>>Hi, </DIV>
>>>>>>>>>> <DIV></DIV>>
>>>>>>>>>> <DIV></DIV>>I am wondering if anyone has ever come
>across
>>>>this
>>>>>>>>>> error before?:
>>>>>>>>>> <DIV></DIV>>
>>>>>>>>>> <DIV></DIV>>Starting SER : PID file exists!
>>>>(/var/run/ser.pid)
>>>>>>>>>> already running?
>>>>>>>>>> <DIV></DIV>>
>>>>>>>>>> <DIV></DIV>>I am using ser 0.9.0 and it worked like a
>>charm
>>>>>>> the
>>>>>>>>>> first few times
>>>>>>>>>> <DIV></DIV>>that I stopped and started SER. There are no
>>>>>>> errors in
>>>>>>>>>> <DIV></DIV>>/var/log/messages. I also started SER as
>>>>>>>>>> /opt/ser/sbin/ser -c and it
>>>>>>>>>> <DIV></DIV>>showed that the config was ok and exited.
>>>>However
>>>>>>> when
>>>>>>>>>> I check
>>>>>>>>>> <DIV></DIV>>pstree, I dont see SER listening.
>>>>>>>>>> <DIV></DIV>>
>>>>>>>>>> <DIV></DIV>>Could it perhaps be something got to do with
>>>>the
>>>>>>>>>> database?. Example:
>>>>>>>>>> <DIV></DIV>>Should the version table in the SER database
>>>>>>> contain
>>>>>>>>>> "version" or
>>>>>>>>>> <DIV></DIV>>"table_version"? I have tried dropping and
>>>>>>> restarting
>>>>>>>>>> the database
>>>>>>>>>> <DIV></DIV>>i.e. /opt/ser/sbin/ser_mysql.sh drop, then
>>>>>>>>>> <DIV></DIV>>./opt/ser/sbin/ser_mysql.sh create.
>>>>>>>>>> <DIV></DIV>>
>>>>>>>>>> <DIV></DIV>>Any ideas would be appreciated.
>>>>>>>>>> <DIV></DIV>>Thanks,
>>>>>>>>>> <DIV></DIV>>Aisling.
>>>>>>>>>> <DIV></DIV>>
>>>>>>>>>> <DIV></DIV>>
>>>>>>>>>>
>>>>>>>
>>>><DIV></DIV>>-------------------Legal Disclaimer-----
>-
>>--
>>>>>>>>>> -------------------------------
>>>>>>>>>> <DIV></DIV>>
>>>>>>>>>> <DIV></DIV>>The above electronic mail transmission is
>>>>>>> confidential
>>>>>>>>>> and intended only for the person to whom it is addressed.
>>Its
>>>>>>>>>> contents may be protected by legal and/or professional
>>>>privilege.
>>>>>>>>>> Should it be received by you in error please contact the
>>>>sender
>>>>>>> at
>>>>>>>>>> the above quoted email address. Any unauthorised form of
>>>>>>> reproduction
>>>>>>>>>> of this message is strictly prohibited. The Institute does
>>not
>>>>>>>>>> guarantee the security of any information electronically
>>>>>>> transmitted
>>>>>>>>>> and is not liable if the information contained in this
>>>>>>> communication
>>>>>>>>>> is not a proper and complete record of the message as
>>>>transmitted
>>>>>>> by
>>>>>>>>>> the sender nor for any delay in its receipt.
>>>>>>>>>> <DIV></DIV>>
>>>>>>>>>>
>><DIV></DIV>>_______________________________________________
>>>>>>>>>> <DIV></DIV>>Serusers mailing list
>>>>>>>>>> <DIV></DIV>>Serusers(a)iptel.org
>>>>>>>>>>
>><DIV></DIV>>http://mail.iptel.org/mailman/listinfo/serusers
>>>>>>>>>> <DIV></DIV></div></html>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> -------------------Legal
>>>>>>>>>> Disclaimer---------------------------------------
>>>>>>>>>>
>>>>>>>>>> The above electronic mail transmission is confidential and
>>>>>>> intended
>>>>>>>>>> only for the person to whom it is addressed. Its contents
>>may
>>>>be
>>>>>>>>>> protected by legal and/or professional privilege. Should it
>>be
>>>>>>>>>> received by you in error please contact the sender at the
>>>>above
>>>>>>>>>> quoted email address. Any unauthorised form of reproduction
>>of
>>>>>>> this
>>>>>>>>>> message is strictly prohibited. The Institute does not
>>>>guarantee
>>>>>>> the
>>>>>>>>>> security of any information electronically transmitted and
>>is
>>>>not
>>>>>>>>>> liable if the information contained in this communication
>is
>>>>not
>>>>>>> a
>>>>>>>>>> proper and complete record of the message as transmitted by
>>>>the
>>>>>>>>>> sender nor for any delay in its receipt.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -------------------Legal
>>>>>>>>> Disclaimer---------------------------------------
>>>>>>>>>
>>>>>>>>> The above electronic mail transmission is confidential and
>>>>>>> intended
>>>>>>>>> only for the person to whom it is addressed. Its contents
>may
>>>>be
>>>>>>>>> protected by legal and/or professional privilege. Should it
>>be
>>>>>>>>> received by you in error please contact the sender at the
>>above
>>>>>>>>> quoted email address. Any unauthorised form of reproduction
>>of
>>>>>>> this
>>>>>>>>> message is strictly prohibited. The Institute does not
>>>>guarantee
>>>>>>> the
>>>>>>>>> security of any information electronically transmitted and
>is
>>>>not
>>>>>>>>> liable if the information contained in this communication is
>>>>not a
>>>>>>>>> proper and complete record of the message as transmitted by
>>the
>>>>>>>>> sender nor for any delay in its receipt.
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Serusers mailing list
>>>>>>>>> Serusers(a)iptel.org
>>>>>>>>> http://mail.iptel.org/mailman/listinfo/serusers
>>>>>>>>
>>>>>>>> -------------------Legal
>>>>>>> Disclaimer---------------------------------------
>>>>>>>>
>>>>>>>> The above electronic mail transmission is confidential and
>>>>intended
>>>>>>> only for the person to whom it is addressed. Its contents may
>>be
>>>>>>> protected by legal and/or professional privilege. Should it be
>>>>>>> received by you in error please contact the sender at the
>above
>>>>>>> quoted email address. Any unauthorised form of reproduction of
>>>>this
>>>>>>> message is strictly prohibited. The Institute does not
>>guarantee
>>>>the
>>>>>>> security of any information electronically transmitted and is
>>not
>>>>>>> liable if the information contained in this communication is
>>not
>>>>a
>>>>>>> proper and complete record of the message as transmitted by
>the
>>>>>>> sender nor for any delay in its receipt.
>>>>>>
>>>>>>
>>>>>> -------------------Legal
>>>>>> Disclaimer---------------------------------------
>>>>>>
>>>>>> The above electronic mail transmission is confidential and
>>>>intended
>>>>>> only for the person to whom it is addressed. Its contents may
>be
>>>>>> protected by legal and/or professional privilege. Should it be
>>>>>> received by you in error please contact the sender at the above
>>>>>> quoted email address. Any unauthorised form of reproduction of
>>>>this
>>>>>> message is strictly prohibited. The Institute does not
>guarantee
>>>>the
>>>>>> security of any information electronically transmitted and is
>>not
>>>>>> liable if the information contained in this communication is
>not
>>a
>>>>>> proper and complete record of the message as transmitted by the
>>>>>> sender nor for any delay in its receipt.
>>>>>
>>>>>
>>>>>-------------------Legal
>>>>Disclaimer---------------------------------------
>>>>>
>>>>>The above electronic mail transmission is confidential and
>>intended
>>>>only for the person to whom it is addressed. Its contents may be
>>>>protected by legal and/or professional privilege. Should it be
>>>>received by you in error please contact the sender at the above
>>>>quoted email address. Any unauthorised form of reproduction of
>this
>>>>message is strictly prohibited. The Institute does not guarantee
>>the
>>>>security of any information electronically transmitted and is not
>>>>liable if the information contained in this communication is not a
>>>>proper and complete record of the message as transmitted by the
>>>>sender nor for any delay in its receipt.
>
>
>-------------------Legal
>Disclaimer---------------------------------------
>
>The above electronic mail transmission is confidential and intended
>only for the person to whom it is addressed. Its contents may be
>protected by legal and/or professional privilege. Should it be
>received by you in error please contact the sender at the above
>quoted email address. Any unauthorised form of reproduction of this
>message is strictly prohibited. The Institute does not guarantee the
>security of any information electronically transmitted and is not
>liable if the information contained in this communication is not a
>proper and complete record of the message as transmitted by the
>sender nor for any delay in its receipt.
>
-------------------Legal Disclaimer---------------------------------------
The above electronic mail transmission is confidential and intended only for the person to whom it is addressed. Its contents may be protected by legal and/or professional privilege. Should it be received by you in error please contact the sender at the above quoted email address. Any unauthorised form of reproduction of this message is strictly prohibited. The Institute does not guarantee the security of any information electronically transmitted and is not liable if the information contained in this communication is not a proper and complete record of the message as transmitted by the sender nor for any delay in its receipt.
Yah I noticed the other post after I posted mine, I don't see how it
would easily be possible to address the sticky issue. It would require
making a SIP aware proxy of sorts, which is a bit out of my abilities.
Has anyone been able to address this issue? Of course a layer7 switch
would do wonders and eliminate the need for all this, but who has that
money laying around :D
I've done a little research (google) and noticed people mentioning it
when talking about LVS, one guy said he was going to write a module but
posted nothing more. That would be pretty slick.
Matt
-----Original Message-----
From: Greger V. Teigre [mailto:greger@teigre.com]
Sent: Monday, April 11, 2005 3:04 AM
To: Matt Schulte; serusers(a)lists.iptel.org
Subject: Re: [Serusers] Load Balancing via UltraMonkey/ldirectord
If you see another thread (using the rather intuitive subject: Re:
[Serusers] more usrloc synchronization), you will see discussions on
using
LVS in general. AFAIK, which high availability solution to use for LVS,
is
more based on your personal preferences, UltraMonkey is probably a safe
choice. Anyway, you will need to address the "stickiness" issue.
g-)
Matt Schulte wrote:
> Has anyone attempted to load balance SER using Ultramonkey/ldirectord?
> I've noticed all it does is pretty much NAT and send requests
> accordingly, the trick I guess would be the NAT part. If the SIP
> headers = myself, would there really be any issues? One problem I can
> foresee is the possibility that loose routing would hit the wrong
> server. Just wanted to ask around before I wasted time trying it out
> for myself :-) Thanks
>
> Matt
>
> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Pretty good news, Paul. I've only tested IP tunneling. It worked for me. The problem I described was born in my thoughts. I've also read some complaints from SIP-LVS users. The only configuration where Call-Id stickness does not necessary is LVS-NAT. Unfortunately, NAT becomes bottleneck very fast.
Java Rockx <javarockx(a)gmail.com> wrote:
Tina,
I wish I had more information on that, but that LVS stuff is a black art to me. One of our engineers whipped up an LVS configuration that seems quite happy with the Call-ID "stickness" you described. All I can say right now is that it is apparently possible to do this with 100% open source. (i'm keeping my fingers crossed) :-)
Regards,
Paul
On Apr 10, 2005 11:03 PM, Tina <kramarv(a)yahoo.com> wrote:Paul,
thanks a lot, it helps a lot. The thing I do not understand - how you are going to solve call-id stickness (see my another post). Since we're also use LVS I had to find something proprietary, I am afraid this is not a best solution, but the only I have today.
KRs,
Tina
Java Rockx <javarockx(a)gmail.com> wrote:
Tina,
I really don't know how the LVS server is configured because our network guy that we acquired from RedHat set all that stuff up. I do know that we basically have this set up:
I hope the formatting goes well :-)
+-----------+ +----------+ +-------+ +---------+ +--------------------+
| internet |------| Cisco |------| LVS |-----| Cisco |----| Application |
| cloud | | 3600 | | | | 3600 | | & DB Servers |
+-----------+ +----------+ +--------+ +---------+ +--------------------+
So the "Application & DB Servers" box represents multiple servers (all are dedicated to their service). These include SER, MySQL, Apache, configuration management, monitoring, RTP proxies, etc.
MySQL is active-active so we have two-way replication. We only have 2 MySQL servers. And this is all we plan on ever having as MySQL is more than capable of handling anything ser can throw at it (given the right hardware).
Each ser server is 100% oblivious to other SER servers except for when handling REGISTER messages. Here is basically the ser.cfg for each SER server:
listen=10.3.0.221 # this will be 10.3.0.222 on the peer sip proxy
modparam("usrloc", "db_mode", 1) # write-through
route {
if (method=="REGISTER") {
if (src_ip==10.3.0.221) { # ip of peer ser proxy
save_memory("location");
break;
} else {
save("location");
t_replicate("10.3.0.222");
break;
};
};
}
We have identifed a deficiency in the usrloc module urecord.c file whereby when using write-though mode the save_memory() function still attempt to update MySQL. This is a very bad thing because it causes a primary key violation on the location table.
Yesterday I posted a patch to serdev to fix this, but today we identified another case where save_memory() tried to insert in to the location table. I'll post a revised patch to serdev as soon as I get a chance.
So here is what happens. Assume I have two sip routers and two MySQL servers as:
sip-01 is 10.3.0.221
sip-02 is 10.3.0.222
db-01 is 10.2.0.21
db-02 is 10.2.0.22
Now let's just assume that sip-01 is connected to db-01 and sip-02 is connected to db-02.
When a SIP UA connects to a sip router (via LVS), assume sip-01 in this example and REGISTERs, sip-01 will call save("location") which updates/inserts to the location table. sip-01 then calls t_replicate to sip-02.
sip-02 recieves the REGISTER message and calls save_memory("location") to update its in-memory cache only. It should never hit db-02.
Now db-01 eventually (within a second or two) replicates to db-02 and now sip-02 is good to go, even in the event of a restart.
Our difficulties mostly surrounded the fact that ser was inserting the physical IP of eth0 on the server as the top VIA rather than the VIP as required. We solved this by using record_route_preset() and passing the VIP as the IP. We also had to bring up a dummy interface in order to get ser to honor the VIP.
Hope this helps.
Regards,
Paul
On Apr 8, 2005 7:19 PM, Tina <kramarv(a)yahoo.com> wrote: Paul,
we are using LVS as well. It creates template connection according to source Ip (e.g. UAC) and forwards to one of the tunneled IP. I tested this a couple of weeks ago, ser was happy and inserted VIP into via header, the only issue is to route the calls into right server.
I agree, there is no such thing as SIP-level clustering. However, how would you solve location problem by DB replication - 1) usrloc does not update from DB....2) even though, I am afraid it can become bottleneck and lock down users ...
KRs,
Tina
Java Rockx <javarockx(a)gmail.com> wrote:
See my inline comments.
Regards,
Paul
On Apr 8, 2005 1:08 PM, Greger V. Teigre <greger(a)teigre.com> wrote: Hi Tina,
> I enjoy reading your posts, thanks a lot for the great work you are
> doing for ser users!
Thanks :-)
> I am going to consider that kind of scenario as well (load balancer
> returning Virtual IP address). I think for such configuration server
> side has to keep session information and always forward a call to the
> right server.
I believe the load balancer can be in front and transparantly translate addresses in the SIP messages:
User agent always sees a.b.c.d
|
Load balancer with public IP a.b.c.d
| |
ser1 (10.0.0.2) ser2 (10.0.0.3)
Paul: You have a similar load-balancing solution, right? Do you use a commerical load balancer that you can reveal the name of? :-)
Our platform is 100% open source. Our load balancer is LVS. I have no idea how it actually works. One if our engineers from RedHat set all that networking stuff up and it's way beyond me.
The load balancer need to understand SIP (sort of) and use something (ex. IP address of user agent) to select SER server to send to and rewrite incoming to 10.0.0.2 and 10.0.0.3 respectively and outgoing to a.b.c.d. ser1 and ser2 will happily believe they are alone and communicate directly with user agent using their own private addresses. Both should know about all users (usrloc). Paul just recently posted a small patch for a setup where they use two-way replication between two
That small patch will need a slight revision. We discovered through further testing that that patch only fixed attempts to INSERT into the location table. We didn't cover the UPDATE route, unfortunately. I believe Andrew has that patch done and is testing it. So I'll post it to serdev as soon as we know it works - possibly later today.
mysql servers and where each SER instance will save all REGISTERs it receives from user agents, but only save to memory those replicated from the other SER peer. Klaus pointed out that the same can be done by not doing mysql replication, but have one DB for each SER and just use t_replicate() and save_noreply() (for two servers, for more than two you need to use forward_tcp()).
I have heard complaints that this approach will generate too much network traffic. Also, t_replicate() does not guarantee delivery of the replication (forward_tcp is better, but not fool proof). So, the "best" solution would probably be to hope that Paul's
I fully agree. Replication at the sip proxy level, IMHO, is not a good idea. From a purist point of view, replication is not a function of a SIP router - nor should it be. It is a function of the database and we believe that the MySQL replication is a better approach from a speed and reliabilty point of view - not to mention that it simplifies the tasks of the sip router.
recent TCP/UDP patch for network access to FIFO commands get included in the CVS. Then, a new replication module should use XMLRPC or whatever protocol the patch is using to forward (in a guaranteed mode) the usrloc information, which then would be injected directly into SER's memory, just like save() would, and of course in whatever db_mode you would like. The replicaton module would have to keep a queue (of course, flushed to a DB or something) in case of network problems, so that the replication would be done (sooner or later) regardless of problems.
Of course, this is a major undertaking, so for most replication scenarioes, I would think the forward_tcp() + save_noreply() would work just fine.
g-)
> "Greger V. Teigre" <greger(a)teigre.com> wrote:
> I was thinking about a load balancing scenario where the load
> balancer will replace the IP addresses.
> g-)
>
> ---- Original Message ----
> From: Tina
> To: Greger V. Teigre
> Sent: Wednesday, April 06, 2005 09:45 PM
> Subject: Re: [Serusers] still no help - usrloc synchronization
>
>> Thank you for givingme the scenario with "restricted IP" NAT, I am
>> starting to find some acceptable solution.
>> Unfortunately, "one-public-IP" approach is not free from problems
>> also. If your SIP router inserts this "one-public-IP" into the VIA
>> header, the reply routing goes via wrong SIP server...
>> If your SIP server inserts its real-IP-address - the scenario
>> mentioned above is still not resolved.
>> Any comments?
>> Tina
>>
>> "Greger V. Teigre" <greger(a)teigre.com> wrote:
>> See inline.
>>
>>> If you use DNS server for load balancing... the client receives one
>>> of your domain IP addresses according to SRV. I don't see the
>>> problem
>>> with a call here, cause UAC asks t! he address only once (before
>>> sending INVITE). UAC already has the IP for BYE/reINVITEs. So why
>>> would you replicate INVITEs?
>>
>> I would never replicate INVITEs, I would just make sure that they are
>> proxied through the correct SER server (i.e. IP).
>>
>> The problems depends on your setup. If you have SERs with different
>> IPs, ex UA1 has registered with server A and UA2 has registered with
>> server B: If UA2 wants to call UA1 and UA is behind an IP restricted
>> NAT, server A is stored in the NAT table of the NAT in front of UA1.
>> If server B sends an INVITE to UA1, the INVITE will be refused by
>> UA1's NAT.
>> This is why a "one public IP" in front of a load balancing
>> cluster probably is a good way to go.
>>
>>> If you use IPVS/LVS... I believe you can force SER to insert it's
>>> public IP into VIA,! so there is no problem with replies. With
>>> regard
>>> to another requests, I believe load balancer keeps connection
>>> template, then when another request comes it would be forwarded to
>>> the same ser.
>>
>> Yes. There are different "keys" to use to load balance SIP messages.
>> One good way from a NAT point of view is to use originating IP
>> address. What you must remember is that the problem is not on the
>> server side, but on the client side. The NAT will in many situations
>> stop incoming UDP packets if the originating ip:port is not already
>> stored in the NAT table. The Via header does not matter for the NAT.
>> g-)
>>
>>> Any comments?
>>>
>>> "Greger V. Teigre" <greger(a)teigre.com> wrote:
>>> Yes, I believe that is so. But still you get a problem if the NAT is
>>> restricted, port-restricted or symmetric... The best would be to
>>> load>> balance and always make sure that a given client is handled
>>> through a given
>>> SER (REGISTER and INVITEs). That includes forwarding INVITEs from
>>> one
>>> SER to
>>> another... OR you must load balance in front of your servers with
>>> one
>>> common
>>> public IP.
>>> g-)
>>>
>>> Matt Schulte wrote:
>>>> Ack, I didn't even think about NAT. Would these be added before it
>>>> gets sent off to the second proxy? ie:
>>>>
>>>> if (!src_ip==blah.netlogic.net) {
>>>> add_rcv_param();
>>>> t_replicate("blah.netlogic.net", "999");
>>>> };
>>>>
>>>> -----Original Message-----
>>>> From: Greger V. Teigre [mailto:greger@teigre.com]
>>>> Sent: Tuesday, April 05, 2005 7:49 AM
>>>> To: Matt Schulte; kramarv(a)yahoo.com
>>>> ! ; Cc: serusers(a)lists.iptel.org
>>>> Subject: ! Re: [Serusers] still no help - usrloc synchronization
>>>>
>>>>
>>>> Well, you still have the NAT issues unless you do load balancing
>>>> and your
>>>> SER servers have the same public IP.
>>>> Have you looked at 0.9.0 nathelper function add_rcv_param() ? It
>>>> will add received info to the contact header for the other SER to
>>>> process. Haven't really tried yet...
>>>> g-)
>>>>
>>>> Matt Schulte wrote:
>>>>> I'm starting to lean this direction, using t_replicate and all. I
>>>>> could never get usrloc (db mode) to function properly..
>>>>> t_replicate is
>>>>
>>>>> a dirty but very effective workaround.
>>>>>
>>>>> -----Original Message-----
>>>>> From: Greger V. Teigre [mailto:greger@teigre.com]
>>>>> Sent: Saturday, April 02,! 2005 1:33 AM
>>>>> To: kramarv(a)yahoo.com
>>>>> Cc: serusers(a)lists.iptel.org
>>>>> Subject: Re: [Serusers] still ! no help - usrloc synchronization
>>>>>
>>>>>
>>>>> Have a look at this thread:
>>>>> http://lists.iptel.org/pipermail/serusers/2005-January/014669.html
>>>>> g-)
>>>>>
>>>>> Java Rockx wrote:
>>>>>> Tina,
>>>>>>
>>>>>> I thought I saw you post the other day that you did not want to
>>>>>> use t_replicate(), however, this is probably your best bet to
>>>>>> getting this
>>>>>
>>>>>> to work, IMHO.
>>>>>>
>>>>>> Regards,
>>>>>> Paul
>>>>>>
>>>>>> On Apr 1, 2005 4:08 PM, Tina wrote:
>>>>> ! >>
>>>>>> ! ;> Hi, please help me, I'm stuck with it!!!!!
>>>>>>> I am trying to set up several sers with a shared MySQL database
>>>>>>> for location service.
>>>>>>>
>>>>>>> I set in each ser.cfg:
>>>>>>>
>>>>>>> modparam("usrloc", "db_mode", 2)
>>>>>>> modparam("usrloc",
>>>>>>> "db_url","sql://ser:heslo@192.168.25.163/ser")
>>>>>>>
>>>>>>> and the servers are not synchronized.
>>>>>>> The I set
>>>>>>> modparam("usrloc", "db_mode", 2)
>>>>>>>
>>>>>>>
>>>>>>> made UAC (Xlite) register to one of the servers.
>>>>>>> I see it via usrloc, but there is no record in "location" mySQL
>>>>>>> table....So others do not see the client and I'm unable to make
>>>>>>> calls....
>>>>>>>
>>>>>>>
>>>>>>> Please help how to work with usrloc and mySQL...
>>>>>>>
>>>>>>> Tina,
>>>>>>> software engineer
>>>>>>>
>>>>>>> ________________________________
>>>>>>> Do you Yahoo!?
>>>>>>> Better first dates. More second dates. Yahoo! Personals
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Serusers mailing list
>>>>>>> serusers(a)lists.iptel.org
>>>>>>> http://lists.iptel.org/mailman/listinfo/serusers
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Serusers mailing list
>>>>>> serusers(a)lists.iptel.org
>>>>>> http://lists.iptel.org/mailman/listinfo/serusers
>>>>>
>>>>> _______________________________________________
>>>>> Serusers mailing list
>>>>> serusers(a)lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
>>>
>>>
>>>
>>>
>>> Yahoo! Messenger
>>> Show us what our next emoticon should look like. Join the fun.
>>
>>
>> Do you Yahoo!?
>> Better first dates. More second dates. Yahoo! Personals
>
>
> Yahoo! Messenger
> Show us what our next emoticon should look like. Join the fun.
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
---------------------------------
Do you Yahoo!?
Make Yahoo! your home page
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Hi
I am having troubles with making calls .
I have SER compiled and working with mysql and SERWEB,
Small issue with:
1(1885) ERROR: ul_add: flags expected when adding Alias from SERWEB but no
issue creating it with serctl
I start SER using /usr/local/sbin/ser -D -E
No errors and is listening on the correct ip
I have three users created with alias's example 38212349, 50, 51
Serctl ul show : output shows the registered users and the alias information
no errors.
When I try a test call from say alias 38212349 to 38212350 the phone trys to
make the call but nothing happens. I see nothing no errors at all.
What have I don't wrong.
Please help if you can. hehehe I would like to call myself from one phone to
the other.
Cheers
:-)
hello
i have a simple problem i am trying to rout my call to
PSTN gateway but it is not working
but i cant receive any request on gateway
route {
#
-----------------------------------------------------------------
# Sanity Check Section
#
-----------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483", "Too Many Hops");
break;
};
if (msg:len > max_len) {
sl_send_reply("513", "Message Overflow");
break;
};
#
-----------------------------------------------------------------
# Record Route Section
#
-----------------------------------------------------------------
if (method=="INVITE") {
rewritehostport("gwIP:5060");
break;
};
if (method!="REGISTER") {
save("location");
record_route();
};
}
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/