Hello,
I want to send a SIP message with sipsak to ser (running on the same
server!!).
I do it with: sipsak -s sip:192.168.1.222:5061 -f file.txt
But the message doesn't reach the ser-server.
If I send it with sipsak -s sip:localhost:5061 -f file.txt
...the message reaches the server, but with the error message:
CRITICAL: invalid sendtoparameters
one possible reason is the server is bound to localhost and
attempts to send to the net
10(3681) msg_send: ERROR: udp_send failed
10(3681) ERROR: t_forward_nonack: sending request failed
Does anybode know what could be the reason?
Thanks!
Sebastian
Hi folks,
All module (acc,avpops,tm,xlog) that were using pseudo-variables like
support are finally migrated to a common pseudo-variable core (located
in OpenSER core).
Advantages:
consistency across current and future modules (only one definition
scheme)
gets red of code duplicity (easy to maintain and to fix)
scalability - new pseudo-variables will be automatically seen from
all modules without any additional changes
I know that this migration broke a lot of compatibilities and will force
user to re-acustome the new pseudo-variables notacion, but this was a
necessary step.
All the README/online-docs were update in order to give as much help as
possible to users to adapt. For a list with supported pseudo-variables
see http://www.openser.org/docs/pseudo-variables.html.
If you have ideas for new useful variables to be added, let us know.
regards,
bogdan
Please copy serusers.
Use debug=7, fork=no and log_stderror=yes
Start ser with: ser
You should get debug statements from avpops.
g-)
---- Original Message ----
From: Ramin NIkaeen
To: Greger V. Teigre
Sent: Thursday, July 14, 2005 03:59 PM
Subject: RE: [Serusers] avpops in route[??] or failure_route[??]
> Hi Greger,
>
> Thanks for your kind reply.
>
> How does avpops module give me output?!
>
> I have set the following in the ser.cfg file:
> debug=3 # debug level (cmd line: -dddddddddd)
> fork=yes
> log_stderror=yes # (cmd line: -E)
> but don't get any specific output from avpops?!
>
> I have also tried avp_print but it does not seem to work?!
>
> Any ideas?
>
> Thanks
>
> ramin
>
>
> -----Original Message-----
> From: Greger V. Teigre [mailto:greger@teigre.com]
> Sent: Thursday, July 14, 2005 1:37 AM
> To: Ramin NIkaeen; Serusers
> Subject: Re: [Serusers] avpops in route[??] or failure_route[??]
>
> Ramin,
> avpops works pretty much everywhere. Try starting ser in debugging
> mode. You will get output from the avpops module on what happens. It
> can be difficult to get all the options for the different functions
> correctly sometimes...
> g-)
>
> ---- Original Message ----
> From: Ramin Nikaeen
> To: Serusers
> Sent: Wednesday, July 13, 2005 10:40 PM
> Subject: [Serusers] avpops in route[??] or failure_route[??]
>
>> Valued Colleagues,
>>
>> Can anyone tell me of avpops can be used within routing and
>> failure_route blocks?!
>>
>> If it can not be used, what can I use instead?
>>
>> My usr_preferences table in the database contains:
>>
>> mysql> select * from usr_preferences where uuid='6474383000' order by
>> uuid, attribute;
>> +------------+------------+--------------+--------------+-----------------------------+------+----------------+
>>> uuid | username | domain | attribute | value
>>>> type | modified |
>>>>
>>>> +------------+------------+--------------+--------------+-----------------------------+------+----------------+
>>>> 6474383000 | 6474383000 | goldline.net | findme1-ring | 20 0 |
>>>> 20050712155359 | 6474383000 | 6474383000 | goldline.net |
>>> findme1-uri | sip:4168491076@xxxxxxxx.xxx | 0 | 20050712155359 |
>> +------------+------------+--------------+--------------+-----------------------------+------+----------------+
>> I run the code attached at the bottom. Because the table is populated
>> properly,
>> it should print
>>
>> "---------ser.cfg - route[11]: inv_timeout: 20!"
>>
>> but it prints:
>>
>> "---------ser.cfg - route[11]: default inv_timeout: 20!"
>>
>> which indicates to me that avp_db_load is not working properly.
>>
>> Thanks
>>
>> ramin
>>
>> route[11]
>> {
>> if (avp_db_load("$ruri/username", "s:findme1-ring"))
>> {
>> log(3, "---------ser.cfg - route[11]::
>> FindMe: s:findme1-ring read from database\n");
>> };
>> else
>> if (avp_check("s:findme1-ring", "eq/20/i"))
>> {
>> avp_write("i:20", "inv_timeout");
>> log(3, "---------ser.cfg - route[11]:
>> inv_timeout: 20!\n");
>> }
>> else
>> {
>> avp_write("i:20", "inv_timeout");
>> log(3, "---------ser.cfg - route[11]: default
>> inv_timeout: 20!\n");
>> }
>>
>> }
>>
>>
>>
>> _______________________________________________
>> Serusers mailing list
>> serusers(a)lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers
I have SER 0.9.3 and also MySQL 3.23.58 running in a FC3 box. When I
uncommented ser.cfg for using mysql database I am getting: ERROR:
load_module: could not open module </usr/local/lib/ser/modules/mysql.so>:
libmysqlclient.so.12: canot open shared object file: No such file or
directory. This file isn't anywhere in my machine. May be I don't have the
mysql client installed or running?
How can I get this file?
Thanks
Juan
hello,
according to method.get_missed_calls.php script
(serweb)
how can we set username and domaine in tables aliases
and missed_calls in order to display missed call from
serweb?
I set failure route for unavailable users
# -- tm params --
modparam("tm", "fr_inv_timer", 15)
modparam("tm", "fr_timer", 10)
t_on_failure("1"); in block for messages INVITE
failure_route[1] {
##########################
# Voicemail Handler #
##########################
# revert_uri(); # resend to voicemail with
original request URI
rewritehostport("80.119.:10.595040");
}
//////////////////////////////////////////////////////
from: method.get_missed_calls.php
$q="(SELECT t1.from_uri,
t1.sip_from, t1.time, t1.sip_status ".
"FROM
".$config->data_sql->table_missed_calls." t1 ".
"WHERE
t1.username='".$user->uname."' and
t1.domain='".$user->domain."' ) ".
"UNION ".
"(SELECT t1.from_uri,
t1.sip_from, t1.time, t1.sip_status ".
"FROM
".$config->data_sql->table_missed_calls." t1,
".$config->data_sql->table_aliases." t2 ".
"WHERE
'sip:".$user->uname."@".$user->domain."'".
"=t2.contact AND t2.username=t1.username AND
t2.domain=t1.domain ) ".
"ORDER BY time DESC ".
"limit
".$this->get_act_row().", ".$this->get_showed_rows(
}
///////////////////////////////////////////////////////
Harry
___________________________________________________________________________
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez cette version sur http://fr.messenger.yahoo.com
It seems that setting the "fr_inv_timer_avp" parameter more than once
during a call is not possible.
However there is a situation where this is necessary:
1. VoIP ATA to VoIP ATA call with call forwarding where call forwarded
number is a PSTN destination
To facilitate Call Forward No Answer, the fr_inv_timer_avp is used and
set to a value (say 12 seconds), after this timer hits a failure_block
is run, in this failure block i rewrite the destination and check if
this destination is a PSTN number. If it is than I would like to change
the fr_inv_timer_avp parameter to somthing higher due to the nature of
PSTN termination but it does not seem to have any effect.
Has anyone experienced this problem and possible found a workaround?
Or maybe this is a known issue
tavis
Hi,
I tried to turn on authetication in SER. I was able to add a new user to
the subscriber table using serctl utility, but when I restarted the
server, after adding the user, I am getting the following error:
========================================================================
==========================
SERVER LOG AND THE SERVER WONT START
========================================================================
==========================
0(0) get_connection(): Connection not found in the pool
0(0) new_connection(): Access denied for user: 'ser@localhost' (Using
password: YES)
0(0) db_init(): Could not create a connection
0(0) register_udomain(): Can not open database connection
0(0) domain_fixup(): Error while registering domain
ERROR: error ffffffff while trying to fix configuration
0(0) DEBUG: tm_shutdown : start
0(0) DEBUG: unlink_timer_lists : emptying DELETE list
0(0) DEBUG: tm_shutdown : emptying hash table
0(0) DEBUG: tm_shutdown : releasing timers
0(0) DEBUG: tm_shutdown : removing semaphores
0(0) DEBUG: tm_shutdown : destroying tmcb lists
0(0) DEBUG: tm_shutdown : done
0(5165) shm_mem_destroy
0(5165) destroying the shared memory lock
when I connect to the database directly using mysql, I can connect
without any hassle. Now, I am not sure, whether it is the domain_fixup()
which is causing problems or the error where it cannot connect to the
database. But SER did start the first time I tried, and I was able to
add a user. Can someone point me out, what is going wrong and needs to
be fixed?
========================================================================
==========================
ADDED A USER BEFORE
========================================================================
==========================
[root@sip-ex-rtr root]# serctl add root root root(a)ser.com
MySql password:
ERROR 1045: Access denied for user: 'ser@localhost' (Using password:
YES)
introducing a new user to the database failed
ERROR 1045: Access denied for user: 'ser@localhost' (Using password:
YES)
introducing a new user into uri table failed
[root@sip-ex-rtr root]# serctl add root root root(a)ser.com
MySql password:
new user added
new user into uri table added
[root@sip-ex-rtr root]# serctl add root root root(a)ser.com
MySql password:
user already exists
[root@sip-ex-rtr root]# serctl add root2 root2 root2(a)ser.com
MySql password:
[root@sip-ex-rtr root]# /usr/local/sbin/serctl: line 333: /tmp/ser_fifo:
Interrupted system call
========================================================================
==========================
CONFIGURATION FILE
========================================================================
==========================
#
# $Id: ser.cfg,v 1.24 2003/11/11 15:32:36 andrei Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=10 # debug level (cmd line: -dddddddddd)
#fork=yes
#log_stderror=no # (cmd line: -E)
# Uncomment these lines to enter debugging mode
#fork=no
log_stderror=yes
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
#children=4
fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/pa.so"
/*loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
*/
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
# -- auth params --
# Uncomment if you are using auth module
#
#modparam("auth", "db_url","sql://ser:ser@localhost/ser")
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)
#modparam("pa", "new_tuple_on_publish", 1)
#modparam("pa", "pa_domain", "orka.dhs.org")
# ------------------------- 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
if (!method=="REGISTER") record_route();
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
break;
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
route(1);
break;
};
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following command
# with proper names and addresses in it)
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!www_authorize("ser.com", "subscriber")) {
www_challenge("ser.com", "0");
break;
};
save("location");
break;
};
if (method=="SUBSCRIBE") {
if (t_newtran()) {
handle_subscription("registrar");
};
break;
};
# if (method=="PUBLISH") {
# if (t_newtran()) {
# handle_publish("registrar");
# };
# break;
# };
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
break;
};
# native SIP destinations are handled using our USRLOC
DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
append_hf("P-hint: usrloc applied\r\n");
route(1);
}
route[1]
{
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
}
_____________________________________________________________________
This e-mail has been scanned for viruses by MCI's Internet Managed Scanning Services - powered by MessageLabs. For further information visit http://www.mci.com
Hi,
avpops module in the CVS head has several new features:
*** A new function is now available to perform integer operations with
avps:
avp_op("source/destination", "operator/value/flags")
the result of this function is the evaluation of the expression:
'destination' = 'source' 'operator' 'value'. If the 'destination' is not
specified, then a new avp having the name and type of 'source' will be
created.
The flags are:
- d - delete the source after the operation
- g - apply the operation to all 'source' avp
the 'value' must be an integer in the form of "i:integer_number" or an
avp alias.
'source' and 'destination' can be specified as avp name or avp alias.
The operations that can be performed:
- add - addition
- sub - substitution
- mul - multiplication
- div - division
- mod - module
- and - bitwise and
- or - bitwise or
- xor - bitwise xor
- not - bitwise not
*** avp_copy() can now perform cast operations. Two new flags were added
- n - convert the value of source avp into integer number and store it
in destination
- s - convert the value of source avp into string and store it in
destination
*** avp_check() has now more check operators
- ne - not equal
- le - least or equal
- ge - greater or equal
- and - bitwise and
- or -bitwise or
- xor - bitwise xor
See the readme for a few more information, the avpops tutorial will be
updated for openser soon. Some internals were changed to allow these new
features, so testing and feedback will be highly appreciated.
Regards,
Ramona