For reference:
The "Cisco_7960" traces exhibit strict_routing, and shows the SER
looping problem
The "Ambit_vg20" traces show the proper (RFC3261, Reference #1 at the
bottom of the email) behaviour and works perfectly.
*SER_SIP_PROXY*:15061 is SER
*SER_SIP_PROXY*:5080 is Asterisk
Both SER and Asterisk are on the same server
*SIP_UAC* is the client device
There are two traces for each session, one taken from the external
interface (ETH0) and one from loopback (LO)
In the "Cisco_7960" traces, the Cisco 7960 responds to the session
initiating "200 OK" with an ACK that seems to follow Strict Routing
behaviour.
The issue is that the ACK does NOT match the loose_route() statement in
the SER config and eventually hits a t_relay, however the RURI is that
of the SER proxy itself so it routes to itself over and over again.
What i expect is that it should hit loose_route() (or perhaps
strict_route() ), which should replace the RURI with the information in
the "Route:" header which would allow it to be properly routed to its
destination.
This same problem seems to happen with BYE messages as well (same
situation and results)
-----------------------
Reference #1:
Section 12.1.2 of RFC3261 states:
--
The route set MUST be set to the list of URIs in the Record-Route
header field from the response, taken in reverse order and preserving
all URI parameters. If no Record-Route header field is present in
the response, the route set MUST be set to the empty set. This route
set, even if empty, overrides any pre-existing route set for future
requests in this dialog. The remote target MUST be set to the URI
from the Contact header field of the response.
--
I'm in France.
Can you provide me your domain and you sip address
where i may call you .
Do you set up srv and naptr records ?
My domain : nxs.yi.org
My address: sip:bob@nxs.yi.org however my name is
harry .
Sorry I don't speak english fluently but it's just for
testing .
Can send me back reply at 3:00 PM it's early in France
Regards
Harry
--- "Edgardo O. Gonzales II"
<edgardo.g(a)pacific.net.ph> a écrit:
>
> sounds great .. so how do we start .. what are the
> parameters you need so
> that I can set it up .. by the way
> where is your location ..
> can you provide me the ip address of your server so
> that I can check
> routings and latency from my location ..
>
> thanks,
> ed
>
> At 11:37 AM 5/3/2005, harry gaillac wrote:
> >I would be happy to participate
> >
> >Harry
> >
> >--- "Edgardo O. Gonzales II"
> ><edgardo.g> a écrit:
> > >
> > >
> > > Hi!
> > >
> > > We're done with the basic configuration of ser
> as
> > > voip gateway .. This
> > > time, were now
> > > on the stage of testing.. Anyone on the list
> wanted
> > > to participate .. We
> > > will try
> > > to setup gateway to gateway connection ..
> > >
> > > Need it asap..
> > >
> > >
> > > thanks,
> > > ed
> > >
> > > _______________________________________________
> > > Serusers mailing list
> > > serusers(a)lists.iptel.org
> > > http://lists.iptel.org/mailman/listinfo/serusers
> > >
> >
> >
> >
> >
> >
> >
>
>__________________________________________________________________
> >Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace
> de stockage pour vos
> >mails !
> >Créez votre Yahoo! Mail sur
> http://fr.mail.yahoo.com/
>
>
__________________________________________________________________
Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails !
Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com/
Hi!
We're done with the basic configuration of ser as voip gateway .. This
time, were now
on the stage of testing.. Anyone on the list wanted to participate .. We
will try
to setup gateway to gateway connection ..
Need it asap..
thanks,
ed
hi everybody
i don't succeed to install ser on my debian
written:
"...
dev:/var/www/dev/michael# dpkg -i ser_0.8.14_i386.deb
(Lecture de la base de données... 45264 fichiers et répertoires déjà
installés.)
Préparation du remplacement de ser 0.8.14 (en utilisant ser_0.8.14_i386.deb)
...
Stopping ser: ser.
Dépaquetage de la mise à jour de ser ...
Paramétrage de ser (0.8.14) ...
Restarting ser: serERROR: loading config file(/etc/ser/ser.cfg): No such
file or directory
invoke-rc.d: initscript ser, action "restart" failed.
ser failed to (re)start. Perhaps your configuration requires
additional modules (e.g. ser-mysql-module, ser-jabber-module
or ser-radius-modules). Next try to install any additional ser
modules you might need and then (re)start ser by executing
the command '/etc/init.d/ser start|restart'.
..."
i try to install ser-mysql-module but it doesn't change
please help me
thanks
Michael
ps: the install notes are not very well understanding . is there something
else?
Hi all
I am a newbee to linux but I have to install and run ser. I did it
before with mysql 3.23 that comes with FC 3 and ser ver. was 8.1.14
Now I am on suse 9.1, sql 4 and I tried 8.1.14, 8.8, 8.9 and 9.0.
I don't know which one now, but one of these asked for
libmysqlclien.so.10 but I had 12 so I symlinked 10 to 12 with ln -s
libmysqlclien.so.12 libmysqlclien.so.10
Now I am trying 8.1.14 and here is my conf file:
#
# $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=7 # debug level (cmd line: -dddddddddd)
fork=no
log_stderror=yes # (cmd line: -E)
/* Uncomment these lines to enter debugging mode
debug=7
fork=no
log_stderror=yes
*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
#port=5060
#children=4
fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/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"
# 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", 2)
# 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 > max_len ) {
sl_send_reply("513", "Message too big");
break;
};
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
record_route();
# loose-route processing
if (loose_route()) {
t_relay();
break;
};
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following command
# with proper names and addresses in it)
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!www_authorize("my_ip", "subscriber")) {
www_challenge("my_ip", "0");
break;
};
save("location");
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
# forward to current uri now; use stateful forwarding; that
# works reliably even if we forward from TCP to UDP
if (!t_relay()) {
sl_reply_error();
};
}
_______________________________________________________________
And here is what I get (the important part I believe):
Listening on
160.75.114.107 [160.75.114.107]:5060
Aliases: konak:5060 konak.vadi:5060
WARNING: no fork mode
0(11307) DEBUG: init_mod: mysql
0(11307) mysql - initializing
0(11307) DEBUG: init_mod: sl_module
stateless - initializing
0(11307) DEBUG: register_fifo_cmd: new command (sl_stats) registered
0(11307) DEBUG: MD5 calculated: 35f101c4519482cd72086674c284d714
0(11307) DEBUG: init_mod: tm
0(11307) TM - initializing...
0(11307) Call-ID initialization: '7f7e7deb'
0(11307) DEBUG: register_fifo_cmd: new command (t_uac_dlg) registered
0(11307) DEBUG: register_fifo_cmd: new command (t_uac_cancel) registered
0(11307) DEBUG: register_fifo_cmd: new command (t_hash) registered
0(11307) DEBUG: lock_initialize: lock initialization started
0(11307) DEBUG: register_fifo_cmd: new command (t_stats) registered
0(11307) DEBUG: MD5 calculated: 16de7e07c182837aae8ddf6ca34bb96f
0(11307) DEBUG: MD5 calculated: 9b4e6e19c32016239a80d97510abe487
0(11307) DEBUG: init_mod: rr
0(11307) rr - initializing
0(11307) DEBUG: init_mod: maxfwd_module
Maxfwd module- initializing
0(11307) DEBUG: init_mod: usrloc
0(11307) usrloc - initializing
0(11307) DEBUG: register_fifo_cmd: new command (ul_stats) registered
0(11307) DEBUG: register_fifo_cmd: new command (ul_rm) registered
0(11307) DEBUG: register_fifo_cmd: new command (ul_rm_contact) registered
0(11307) DEBUG: register_fifo_cmd: new command (ul_dump) registered
0(11307) DEBUG: register_fifo_cmd: new command (ul_flush) registered
0(11307) DEBUG: register_fifo_cmd: new command (ul_add) registered
0(11307) DEBUG: register_fifo_cmd: new command (ul_show_contact) registered
0(11307) find_export: found <db_use_table> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_init> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_close> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_raw_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_free_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_insert> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_delete> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_update> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) mod_init(): Database connection opened successfuly
0(11307) DEBUG: init_mod: registrar
0(11307) registrar - initializing
0(11307) find_export: found <sl_send_reply> in module sl_module
[/usr/local/lib/ser/modules/sl.so]
0(11307) find_export: found <ul_bind_usrloc> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_register_udomain> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_get_all_ucontacts> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_insert_urecord> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_delete_urecord> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_get_urecord> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_lock_udomain> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_unlock_udomain> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_release_urecord> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_insert_ucontact> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_delete_ucontact> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_get_ucontact> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) find_export: found <ul_update_ucontact> in module usrloc
[/usr/local/lib/ser/modules/usrloc.so]
0(11307) DEBUG: init_mod: auth
0(11307) auth module - initializing
0(11307) find_export: found <sl_send_reply> in module sl_module
[/usr/local/lib/ser/modules/sl.so]
0(11307) DEBUG: init_mod: auth_db
0(11307) auth_db module - initializing
0(11307) find_export: found <db_use_table> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_init> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_close> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_raw_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_free_query> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_insert> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_delete> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <db_update> in module mysql
[/usr/local/lib/ser/modules/mysql.so]
0(11307) find_export: found <pre_auth> in module auth
[/usr/local/lib/ser/modules/auth.so]
0(11307) find_export: found <post_auth> in module auth
[/usr/local/lib/ser/modules/auth.so]
0(11307) find_export: found <sl_send_reply> in module sl_module
[/usr/local/lib/ser/modules/sl.so]
0(0) fixing /usr/local/lib/ser/modules/maxfwd.so mf_process_maxfwd_header
0(0) fixing /usr/local/lib/ser/modules/sl.so sl_send_reply
0(0) fixing /usr/local/lib/ser/modules/sl.so sl_send_reply
0(0) fixing /usr/local/lib/ser/modules/rr.so record_route
0(0) fixing /usr/local/lib/ser/modules/rr.so loose_route
0(0) fixing /usr/local/lib/ser/modules/tm.so t_relay
0(0) fixing /usr/local/lib/ser/modules/auth_db.so www_authorize
0(0) fixing /usr/local/lib/ser/modules/auth.so www_challenge
0(0) fixing /usr/local/lib/ser/modules/registrar.so save
0(0) query="select
username,contact,expires,q,callid,cseq,replicate,state,flags,user_agent
from location "
0(0) preload_udomain(): Table is empty
0(0) fixing /usr/local/lib/ser/modules/registrar.so lookup
0(0) fixing /usr/local/lib/ser/modules/sl.so sl_send_reply
0(0) fixing /usr/local/lib/ser/modules/tm.so t_relay
0(0) fixing /usr/local/lib/ser/modules/sl.so sl_reply_error
0(0) INFO: udp_init: SO_RCVBUF is initially 111616
0(0) DEBUG: udp_init: trying SO_RCVBUF: 223232
0(0) DEBUG: setting SO_RCVBUF; set=223232,verify=223232
0(0) DEBUG: udp_init: trying SO_RCVBUF: 225280
0(0) DEBUG: setting SO_RCVBUF; set=225280,verify=223232
0(0) DEBUG: setting SO_RCVBUF has no effect
0(0) INFO: udp_init: SO_RCVBUF is finally 223232
1(11309) DBG: open_uac_fifo: opening fifo...
1(11309) DEBUG: FIFO created @ /tmp/ser_fifo
1(11309) DEBUG: fifo /tmp/ser_fifo opened, mode=432
1(11309) DEBUG: init_mod_child (-1): tm
1(11309) DEBUG: callid: '7f7e7deb-11309(a)160.75.114.107'
1(11309) DEBUG: init_mod_child (-1): usrloc
1(11309) DEBUG: init_mod_child (-1): auth_db
1(11309) connect_db(): No enough memory
1(11309) db_init(): Error while trying to connect database
1(11309) auth_db:init_child(): Unable to connect database
1(11309) init_mod_child(): Error while initializing module auth_db
1(11309) timer: init_child failed
1(11309) INFO: signal 15 received
1(11309) Memory status (pkg):
1(11309) fm_status (0x80d9840):
1(11309) heap size= 1047440
1(11309) dumping free list:
1(11309) hash = 1 fragments no.: 3,
bucket size: 8 - 8 (first 8)
1(11309) hash = 2 fragments no.: 1,
bucket size: 16 - 16 (first 16)
1(11309) hash = 3 fragments no.: 1,
bucket size: 24 - 24 (first 24)
1(11309) hash = 5 fragments no.: 2,
bucket size: 40 - 40 (first 40)
1(11309) hash = 24 fragments no.: 1,
bucket size: 192 - 192 (first 192)
1(11309) hash = 265 fragments no.: 1,
bucket size: 524288 - 1048576 (first 0)
1(11309) TOTAL: 9 free fragments = 336 free bytes
1(11309) -----------------------------
2(11310) INFO: SIGCHLD received: we do not worry about grand-children
2(11310) INFO: fifo process starting: 11310
2(11310) DEBUG: init_mod_child (-2): tm
2(11310) DEBUG: callid: '7f7e7deb-11310(a)160.75.114.107'
2(11310) DEBUG: init_mod_child (-2): usrloc
2(11310) DEBUG: init_mod_child (-2): auth_db
2(11310) connect_db(): No enough memory
2(11310) db_init(): Error while trying to connect database
2(11310) auth_db:init_child(): Unable to connect database
2(11310) init_mod_child(): Error while initializing module auth_db
2(11310) ERROR: open_uac_fifo: init_child failed
2(11310) opening fifo server failed
2(11310) INFO: signal 15 received
2(11310) Memory status (pkg):
2(11310) fm_status (0x80d9840):
2(11310) heap size= 1047440
2(11310) dumping free list:
2(11310) hash = 1 fragments no.: 3,
bucket size: 8 - 8 (first 8)
2(11310) hash = 2 fragments no.: 1,
bucket size: 16 - 16 (first 16)
2(11310) hash = 3 fragments no.: 1,
bucket size: 24 - 24 (first 24)
2(11310) hash = 5 fragments no.: 2,
bucket size: 40 - 40 (first 40)
2(11310) hash = 24 fragments no.: 1,
bucket size: 192 - 192 (first 192)
2(11310) hash = 265 fragments no.: 1,
bucket size: 524288 - 1048576 (first 0)
2(11310) TOTAL: 9 free fragments = 336 free bytes
2(11310) -----------------------------
2(11310) INFO: SIGCHLD received: we do not worry about grand-children
2(11310) INFO: signal 2 received
2(11310) Memory status (pkg):
2(11310) fm_status (0x80d9840):
2(11310) heap size= 1047440
2(11310) dumping free list:
2(11310) hash = 1 fragments no.: 3,
bucket size: 8 - 8 (first 8)
2(11310) hash = 3 fragments no.: 1,
bucket size: 24 - 24 (first 24)
2(11310) hash = 5 fragments no.: 2,
bucket size: 40 - 40 (first 40)
2(11310) hash = 24 fragments no.: 1,
bucket size: 192 - 192 (first 192)
2(11310) hash = 265 fragments no.: 1,
bucket size: 524288 - 1048576 (first 0)
2(11310) TOTAL: 8 free fragments = 320 free bytes
2(11310) -----------------------------
I am sure I have enough memory, I actually can't even make any meaning
of this error message.
When I start ser in normal mode (not debug) it says it is listening
and serctl moni is cycling all well, but the server doesn't seem to
run then either.
Please at least offer me something to try. So far I had many problems
with this but I overcame them one by one but I am totally desperate
against this one.
And please don't forget that I am a newbee at linux
Thanx already
Ertugrul
Hi
I have installed latest version of SER. I have been getting this error
message "sorry -- cannot open write fifo" . There is a permission on the
FIFO for httpd process to read and write. But still I am getting error.
Any pointers for to resolve this will be helpful. Can any one help
please.
Thanks
Rama
DISCLAIMER:
This email (including any attachments) is intended for the sole use of the intended recipient/s and may contain material that is CONFIDENTIAL AND PRIVATE COMPANY INFORMATION. Any review or reliance by others or copying or distribution or forwarding of any or all of the contents in this message is STRICTLY PROHIBITED. If you are not the intended recipient, please contact the sender by email and delete all copies; your cooperation in this regard is appreciated.
Hey All,
We've got SER deployed as a man in the middle proxy situation where
both sides need to be talking TCP. The problem here is that there is a
LOT of NAT going on between the client and the eventual end point that
unfortunately cannot be removed from the situation.
Right now I've got everything fixed up and working for whenever clients
send messages so that all the fixing up and rewriting takes place and
then transaction kicks in and the rest of the dialog completes as
expected. The problem comes in when the far end server sends a message
to the client. I've got a script on the backend that builds the correct
URI and passes it back to ser using exec_dset, the only problem is that
exec_dset() followed by t_relay() forces the packet to be sent via UDP,
which the client is not expecting and thus it times out. I've tried
appending ;transport=tcp to the URI that the script returns however I
get routing errors when I do this.
Is there anyway (without using t_relay_to_tcp()) to force the packets
being sent to use TCP?
-Evan
Hi,
I am using ser 0.9.0 and ser is working with Mysql auth without problem. I
can login with default user 'admin' and password 'heslo'. I received an
error 'error: 400; check if you use aliases in SER' when I tried to use
'serctl add leonsun leonsun leonsun(a)mydomain.com'.
If I went to Mysql and inserted user and password into subscriber manually,
I could use it to login.
The funny thing is there is always this message whenever I input right or
wrong password.
[root@sip ser]# serctl add leonsun leonsun leonsun(a)mydomain.com
MySql password: #any input whatever it's correct or not
error: 400; check if you use aliases in SER
Could anyone please advice?
Thanks