OK, I solved the problem(though I don't understand how it solved) by adding
alias=" sip.mydomain.com", thanks to my old experience with SER:).
Bill
-----Original Message-----
From: users-bounces(a)openser.org [mailto:users-bounces@openser.org] On Behalf
Of Bill Zhang
Sent: Tuesday, September 12, 2006 2:18 PM
To: users(a)openser.org
Subject: RE: [Users] 513 Message too big
It does not help me here:(. I will get "Too Many Hops" (SIP response 483),
it's something that seems to get my SIP message stuck in the first 2
routines.
Bill
-----Original Message-----
From: Ka Lun Chan (KC) [mailto:kchan1028@gmail.com]
Sent: Tuesday, September 12, 2006 1:04 PM
To: 'Bill Zhang'
Subject: RE: [Users] 513 Message too big
I have the exact problem. I fixed by changing it to the following instead:
if (msg:len >= max_len ) {
sl_send_reply("513", "Message too big");
return;
};
KC
-----Original Message-----
From: users-bounces(a)openser.org [mailto:users-bounces@openser.org] On Behalf
Of Bill Zhang
Sent: Tuesday, September 12, 2006 12:59 PM
To: users(a)openser.org
Subject: [Users] 513 Message too big
Hi,
I've exhausted my knowledge on openser:(. Following is my openser.cfg which
is pretty much copy directly from sample but I kept getting "513 Message too
big" response from this server for SIP registration, I know the SIP
registration message size is ONLY 555 bytes, what could be wrong here?
Thanks in Advance!
#
# $Id: openser.cfg,v 1.6 2006/02/15 18:23:46 bogdan_iancu Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=4 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=yes # (cmd line: -E)
/* Uncomment these lines to enter debugging mode
fork=no
log_stderror=yes
*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/openser_fifo"
#
# uncomment the following lines for TLS support
#disable_tls = 0
#listen = tls:your_IP:5061
#tls_verify = 1
#tls_require_certificate = 0
#tls_method = TLSv1
#tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"
#tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"
#tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib64/openser/modules/mysql.so"
loadmodule "/usr/local/lib64/openser/modules/sl.so"
loadmodule "/usr/local/lib64/openser/modules/tm.so"
loadmodule "/usr/local/lib64/openser/modules/rr.so"
loadmodule "/usr/local/lib64/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib64/openser/modules/usrloc.so"
loadmodule "/usr/local/lib64/openser/modules/registrar.so"
loadmodule "/usr/local/lib64/openser/modules/textops.so"
loadmodule "/usr/local/lib64/openser/modules/auth.so"
loadmodule "/usr/local/lib64/openser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "db_url", "mysql://openser:passwd@localhost/openser")
# -- auth params --
# Uncomment if you are using auth module
#
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "db_url", "mysql://openser:passwd@localhost/openser")
# -- 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");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
# 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);
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
# if you have some interdomain connections via TLS
#if(uri=~"@tls_domain1.net") {
# t_relay("tls:domain1.net");
# exit;
#} else if(uri=~"@tls_domain2.net") {
# t_relay("tls:domain2.net");
# exit;
#}
route(1);
};
# 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") {
if (!www_authorize("sip.mydomain.com",
"subscriber")) {
www_challenge("sip.mydomain.com", "0");
exit;
};
save("location");
exit;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
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();
};
exit;
}
Bill
_______________________________________________
Users mailing list
Users(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
Users(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users
Hi All,
I am still a bit new to openser and I am trying to get the call to respond
with busy if caller calls themself from their own UA. I created in the
table grp - "voicemail" with corresponding usernames. While in the failure
route, I am requesting to route calls to voicemail if the caller is calling
a user that is busy or unavailable (but i don't want caller = self in this
category), but I get this error for the first openser.cfg snippet: (
0(31978) parse error (140,19-20): unknown command, missing loadmodule?
Also, when I run the avp_check condition by iself without && my program
seems to just skip over it and shoots right to the failure route and then
redirects to voicemail when busy or unavailable, whether it is the caller
calling from their own UA or not.
-------------------------------------------------------------------------------------------
Route {
...
if (method=="INVITE") {
avp_write("$from", "i:34");
if (is_in_group("voicemail") && avp_check("i:34", "eq/$ruri/i")) { <- this
is the parse error, line 140
sl_send_reply("486", "Busy Here");
exit;
};
avp_delete("i:34");
.......
}
...
# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------
t_on_reply("1");
if(method=="INVITE" && !isflagset(10))
{
t_on_failure("1");
};
......
failure_route[1]
{
if (!t_was_cancelled() | (t_check_status("486") ) {
revert_uri();
rewritehostport("mydomain.com:5065");
append_branch();
xlog("L_INFO", "Temporarily Unavailable or Busy: Transfer to Voicemail");
setflag(10);
route(1);
}
---------------------------------------------------------------------------------------------end
of first openser.cfg snippet
Prior to the above, I have this openser.cfg working somewhat to my wishes by
forwarding to the failure route any busy UA and returning a 486 (whether it
as caller=callee or not) and for unavailable it would forward to voicemail.
Also, I have a backup conditional statement (not shown) for users to dial
*981 to reach a UA's voicemail directly to leave voicemail because I cannot
get around the busy 486.
________________________________
failure_route[1]
{
if (t_check_status("486")) {
xlog("L_NOTICE",
"OPENSER_NAME: $mi $rm $fu -> $ru status 486 Busy Here\n");
exit;
} else if (!t_was_cancelled() ) {
revert_uri();
rewritehostport("mydomain.com:5065");
append_branch();
xlog("L_INFO", "Temporarily Unavailable #1: Transfer to Voicemail");
setflag(10);
route(1);
}
---------------- end of 2nd openser.cfg snippet
Actually, i need help with trying to get it to work right by if caller =
self (as a separate condition) then return with 486 busy, and another
condition if UA is unavailable or busy then forward to voicemail. I really
would like a bit of help. I I hope this makes sense.
Thanks,
Tracy (The Practitioner)
_________________________________________________________________
Check the weather nationwide with MSN Search: Try it now!
http://search.msn.com/results.aspx?q=weather&FORM=WLMTAG
Hi All,
I apologize for rewriting most of this, but I do not know how to continue a
thread from a prior email. I am new. I fixed the parse error from a prior
email request by adding the R-URI but I am still trying to get the call to
respond with busy if caller calls themself from their own UA. I created in
the
table grp - "voicemail" with corresponding usernames. While in the failure
route, I am requesting to route calls to voicemail if the caller is calling
a user that is busy or unavailable (but i don't want caller = self in this
category). When I run the avp_check condition, the program
seems to just skip over it and shoots right to the failure route and then
redirects to voicemail when busy or unavailable, whether it is the caller
calling from their own UA or not.
-------------------------------------------------------------------------------------------
Route {
.....
if (method=="INVITE") {
avp_write("$from", "i:34");
if (is_in_group("Request-URI", "voicemail") && avp_check("i:34",
"eq/$ruri/i")) {
sl_send_reply("486", "Busy Here");
exit;
};
avp_delete("i:34");
.........
}
.....
# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------
t_on_reply("1");
if(method=="INVITE" && !isflagset(10))
{
t_on_failure("1");
};
........
failure_route[1]
{
if (!t_was_cancelled() | (t_check_status("486") ) {
revert_uri();
rewritehostport("mydomain.com:5065");
append_branch();
xlog("L_INFO", "Temporarily Unavailable or Busy: Transfer to Voicemail");
setflag(10);
route(1);
}
---------------------------------------------------------------------------------------------end
of first openser.cfg snippet
Prior to the above, I have this openser.cfg working somewhat to my wishes by
forwarding to the failure route any busy UA and returning a 486 (whether it
as caller=callee or not) and for unavailable it would forward to voicemail.
Also, I have a backup conditional statement (not shown) for users to dial
*981 to reach a UA's voicemail directly to leave voicemail because I cannot
get around the busy 486.
________________________________
failure_route[1]
{
if (t_check_status("486")) {
xlog("L_NOTICE",
"OPENSER_NAME: $mi $rm $fu -> $ru status 486 Busy Here\n");
exit;
} else if (!t_was_cancelled() ) {
revert_uri();
rewritehostport("mydomain.com:5065");
append_branch();
xlog("L_INFO", "Temporarily Unavailable #1: Transfer to Voicemail");
setflag(10);
route(1);
}
---------------- end of 2nd openser.cfg snippet
Actually, i need help with trying to get it to work right by if caller =
self (as a separate condition) then return with 486 busy, and another
condition if UA is unavailable or busy then forward to voicemail. I really
would like a bit of help. I I hope this makes sense.
Thanks,
Tracy (The Practitioner)
_________________________________________________________________
Get real-time traffic reports with Windows Live Local Search
http://local.live.com/default.aspx?v=2&cp=42.336065~-109.392273&style=r&lvl…
It does not help me here:(. I will get "Too Many Hops" (SIP response 483),
it's something that seems to get my SIP message stuck in the first 2
routines.
Bill
-----Original Message-----
From: Ka Lun Chan (KC) [mailto:kchan1028@gmail.com]
Sent: Tuesday, September 12, 2006 1:04 PM
To: 'Bill Zhang'
Subject: RE: [Users] 513 Message too big
I have the exact problem. I fixed by changing it to the following instead:
if (msg:len >= max_len ) {
sl_send_reply("513", "Message too big");
return;
};
KC
-----Original Message-----
From: users-bounces(a)openser.org [mailto:users-bounces@openser.org] On Behalf
Of Bill Zhang
Sent: Tuesday, September 12, 2006 12:59 PM
To: users(a)openser.org
Subject: [Users] 513 Message too big
Hi,
I've exhausted my knowledge on openser:(. Following is my openser.cfg which
is pretty much copy directly from sample but I kept getting "513 Message too
big" response from this server for SIP registration, I know the SIP
registration message size is ONLY 555 bytes, what could be wrong here?
Thanks in Advance!
#
# $Id: openser.cfg,v 1.6 2006/02/15 18:23:46 bogdan_iancu Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=4 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=yes # (cmd line: -E)
/* Uncomment these lines to enter debugging mode
fork=no
log_stderror=yes
*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/openser_fifo"
#
# uncomment the following lines for TLS support
#disable_tls = 0
#listen = tls:your_IP:5061
#tls_verify = 1
#tls_require_certificate = 0
#tls_method = TLSv1
#tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"
#tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"
#tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib64/openser/modules/mysql.so"
loadmodule "/usr/local/lib64/openser/modules/sl.so"
loadmodule "/usr/local/lib64/openser/modules/tm.so"
loadmodule "/usr/local/lib64/openser/modules/rr.so"
loadmodule "/usr/local/lib64/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib64/openser/modules/usrloc.so"
loadmodule "/usr/local/lib64/openser/modules/registrar.so"
loadmodule "/usr/local/lib64/openser/modules/textops.so"
loadmodule "/usr/local/lib64/openser/modules/auth.so"
loadmodule "/usr/local/lib64/openser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "db_url", "mysql://openser:passwd@localhost/openser")
# -- auth params --
# Uncomment if you are using auth module
#
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "db_url", "mysql://openser:passwd@localhost/openser")
# -- 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");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
# 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);
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
# if you have some interdomain connections via TLS
#if(uri=~"@tls_domain1.net") {
# t_relay("tls:domain1.net");
# exit;
#} else if(uri=~"@tls_domain2.net") {
# t_relay("tls:domain2.net");
# exit;
#}
route(1);
};
# 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") {
if (!www_authorize("sip.mydomain.com",
"subscriber")) {
www_challenge("sip.mydomain.com", "0");
exit;
};
save("location");
exit;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
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();
};
exit;
}
Bill
_______________________________________________
Users mailing list
Users(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users
Hi,
I'm looking for a function capable of identifying the domain of the
callee so I can implement something like this:
if(domain_of_callee == domain_A) { do this }
if(domain_of_callee == domain_B) { do that }
I know that there are some functions like those in textops module, but
the problem is that I can't search in the INVITE messages for that
because I what that to be searched in INVITE messages sent from Ser to
Asterisk for Voicemail purpose, and in that cases, the domain of the
callee was already replaced by the IP of Asterisk server in those
messages, and To and From parameters can have other domains because I'm
using multi-domain implementation.
Is there a function that does this?
Thanks,
Ricardo.
Hello,
Are there any plans that OpenSER could be used as presence server?
I'm using SER presence server, but I would like to use OpenSER. There is pa module in OpenSER, but it is
some how broken?
Best Regards
Henri Keski-Sikkila
Anyone has experience with jabber module ?
I have a jabber server working, and openser working
but I can't connect both.
please, send me an example of openser.cfg if you want.
best regards
Javier
or point me to some documentation as to what append_hf() actually does?
I see it throughout my openser.cfg, but it's not in the openser
cookbook, or other visible documentation.
Does it add a hint to log files, or actually include information in some
other place?
Thanks for any clues..
Nick