Hi everyone,
I am using ser 8.14 and it's working fine with mysql. I can add users
with serctl add, but I need to add some aliases for the hardphones. So
after making the proper arrangements on my D-link DVG-1402S I go to
ser and do:
[root@localhost ~]# serctl alias add 1001 sip:john@10.10.10.15
sip:john@10.10.10.15
400 Table 'aliases' not found in memory, use save("aliases") or
lookup("aliases") in the configuration script first
What does this mean? How can I get over this, I tried to look at and
understand the scripts but I couldn't.
Any help will be appriciated truly.
Thanks in advance
Ertugrul
Hi,
Could I please get verification on something regarding missed calls?
1)
I have modified my ser.cfg for missed calls based on example from the
Terena IP Telephony Cookbook. I get an error with the line:
acc_request("404 Not Found");
parse error - unknown command, missing loadmodule?
even though I have loaded the acc.so and tm.so modules and used
modparam("acc", "log_missed_flag", 3);
2)
Besides that when I comment the above out, I am under the impression
that if a user 314 rings user 2092 and hangs up before user 2092
answers i.e. sending a CANCEL message - an entry for this should now
be in the "missed_calls" table fo the ser database....Is this
correct?...I tested this scenario and the table was still empty.
Could someone explain what I am missing?
Many thanks (relevant part of ser.cfg included below)
Aisling.
//ser.cfg
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
#sl_send_reply("404", "Not Found");
#break;
#new entered 20/07/05
#call invitations to off-line users are reported using
#the acc_request action; to avoid
#duplicate reports on request retransmissions, request
# is processed statefully (t_newtran, t_reply)
if ((method=="INVITE" || method=="ACK") && t_newtran()){
t_reply("404", "Not Found");
#acc_request("404 Not Found");
break;
};
#all other requests to off-line users are simply
#replied statelessly and no reports are issued
sl_send_reply("404", "Not Found");
break;
}
else
{
#user on-line; report on failed transactions;
#mark the transaction for reporting using the same
#number as configured above; if the call is really missed,
# a report will be issued
setflag(3);
#forward to the users current destination
t_relay();
break;
};
};
route(1);
}
-------------------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.
Hello Stefan,
I am sure that the announce path and default announce name are both
correct. but it still have no voice ><.
how can i see where is a call forwarding ? it always show "connected"
in x-lite, but i can't listen any sound.
Thanks, Carl
Hi,
Thanks for your answer. I have found out the problem
i.e i did not install ser-mysql rpm. Now i have
another problem when iam trying to install ser-mysql
package
it is giving
error: Failed dependencies:
libmysqlclient.so.10 is needed by ser-mysql-0.8.12-0
But MySQL 4.0 has libmysqlclient.so.12. Iam not able
to proceed further.
Any further help will be appreciated.
Thanks & Regards,
Dinesh
--- Sandra Donaire <sandrad(a)tid.es> wrote:
> maganti vamshi escribió:
>
> >Hi all,
> >
>
> >
> >I have installed ser-0.8.12-0 and
> ser-mysql-0.8.12-0
> >on Redhat Linux 9 machine. I have installed
> mysql4.0
> >version also. Iam not able to find mysql.so file
> under
> >/usr/lib/ser/modules directory. Can someone let me
> >know what could be wrong with my installation?
> >
> >
> HI,
> The mysql.so install with ser, if yo install with
> 'make'... look if in
> the compilation haven't errors.
> If there are any error, ser installl correctly but
> the module don't.
>
> >
> >
>
>
> >
> >
> >Thanks&Regards,
> >Dinesh
> >
> >
> >
> >
>
>__________________________________________________________
> >How much free photo storage do you get? Store your
> friends 'n family snaps for FREE with Yahoo! Photos
> http://in.photos.yahoo.com
> >
> >_______________________________________________
> >Serusers mailing list
> >serusers(a)lists.iptel.org
> >http://lists.iptel.org/mailman/listinfo/serusers
> >
> >
> >
>
>
> --
> Sandra Donaire Arroyo
> Telefónica I+D
> División de "Tecnologías de acceso a redes IP"
>
>
_______________________________________________________
Too much spam in your inbox? Yahoo! Mail gives you the best spam protection for FREE! http://in.mail.yahoo.com
Hm. This was a tricky one. I would like to ask a second opinion from you
NAT gurus on my musings below. What is the most appropriate response to
Ricardo's scenario? WARNING to others: This is getting fairly technical on
NAT/SDP... ;-)
The reINVITE from Asterisk has a valid IP address and a valid (but new) SDP
media ip (C=IN IP4 200.0.0.7). nat=yes is correctly not present in the
reINVITE from Asterisk (it is not NATed). Thus use_media_proxy is correctly
not used in the reINVITE, i.e. client_nat_test("3") and test on nat=yes will
not trigger under the has_totag if statement (loose route processing):
if (loose_route()) {
if (has_totag() && (method=="INVITE" || method=="ACK")) {
if (client_nat_test("3") || search("^Route:.*;nat=yes")) {
setflag(6);
use_media_proxy();
};
};
route(1);
break;
};
In the OK from the Linksys:
U 200.0.0.5:5060 -> 200.0.0.6:5060
SIP/2.0 200 OK.
To:
<sip:5555848114@sipvoiss.desarrollo.redvoiss.net>;tag=64d7492db018b13ai0.
From: "5565625858196"
<sip:5565625858196@sipvoiss.desarrollo.redvoiss.net>;tag=as5d352c9a.
Call-ID: 0848ef78297116742562204e2c04cbcb(a)sipvoiss.desarrollo.redvoiss.net.
CSeq: 104 INVITE.
Via: SIP/2.0/UDP 200.0.0.6:5060;branch=z9hG4bK518d870e.
Record-Route: <sip:200.0.0.5;ftag=as5d352c9a;lr=on>.
Contact: 5555848114 <sip:5555848114@200.0.0.4:46081>.
Server: Linksys/PAP2-2.0.10(LSb).
Content-Length: 237.
Content-Type: application/sdp.
.
v=0.
o=- 33068 33068 IN IP4 192.168.15.200.
s=-.
c=IN IP4 192.168.15.200.
t=0 0.
m=audio 16424 RTP/AVP 18 100 101.
a=rtpmap:18 G729/8000.
a=rtpmap:100 NSE/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-15.
a=ptime:30.
a=sendrecv.
...you have 192.168.15.200, a private c= address in SDP, but the Contact has
correctly been fixed (200.0.0.4:46081). So it seems the OK is processed
correctly in onreply even though it does not show up in the debug. Flags 6
and 7 are not set, so use_media_proxy is correctly not run. The problem is
that flag 6 should have been set (the Linksys is NATed), but as the reINVITE
is not processed using lookup("location") the flag will not be picked up
from usrloc.
----------------------------------------
However, now that Asterisk in the reINVITE is requesting another (valid) IP
as media destination, the question is: what is propor behavior?
The most natural would be to add a lookup("location") after:
if (has_totag() && (method=="INVITE" || method=="ACK"))
and then add isflagset(6) to the or test:
if (isflagset(6) || client_nat_test("3") || search("^Route:.*;nat=yes")) {
setflag(6);
use_media_proxy();
};
However, I'm not sure the lookup will work, because the R-URI is likely to
be the direct address (5555848114@200.0.0.4:46081) and not the registered
URI (@domain.com). It would be tempting to try to see if we somehow could
make nat=yes set in the early INVITE. We would have to split the
record_route section in two. One to handle !="REGISTER && !="INVITE" with a
regular record_route() and wait until AFTER lookup("location") (maybe in
route[1], the default handler) to add the following:
if(method=="INVITE")){
if(isflagset(6)) {
# INSERT YOUR IP ADDRESS HERE
record_route_preset("192.0.2.13:5060;nat=yes");
} else {
record_route();
}
}
This would make sure that not only dialogs where caller is nated, but also
where callee is nated, will be tagged as nated. This again would cause
nat=yes to be set and rtp proxy forced, further flag 6 is set, and thus the
OK also processed with use_media_proxy().
BUT: Would this nat=yes cause any problems in other scenarios??? I'm not
sure, but I don't think so. If that is correct, this is maybe the right
solution.
---------------------------------------
OTHER (SIMPLER?) SOLUTIONS:
----------
Instead you could add ||client_nat_test("1") together with isflagset 6 and 7
in your reply route:
if ((isflagset(6) || isflagset(7) || client_nat_test("1")) &&
(status=~"(180)|(183)|2[0-9][0-9]"))
but it will not work because the reINVITE did not get use_media_proxy().
Or, you could instead add fix_nated_sdp("2"); in your onreply route:
if (client_nat_test("1")) {
fix_nated_contact();
fix_nated_sdp("2");
};
WARNING! You will have to add else in between this test and the previous to
avoid messing up use_media_proxy().
This will fix the SDP (c=IN IP4), but it will probably not help, because the
port is still unknown. You could use "3" instead in fix_nated_sdp, this
will add direction=active to the OK. However, another thread stated that
Asterisk does not support direction=active. If it does, it will probably
work and you get a non-proxied stream between Asterisk and the Linksys.
Or finally, the third option would be to add the (hopefully) fixed IP in the
loose_route test:
if (src_ip==200.0.0.6 || client_nat_test("3") ||
search("^Route:.*;nat=yes")) {
setflag(6);
use_media_proxy();
};
This would cause the OK automatically to get use_media_proxy.
Ricardo, could you please test these various solutions and see if they
really work or if (where...) I go wrong :-)
g-)
Ricardo Martinez wrote:
> Hello Greger.
> Thanks for your answer on this topic. Now i'm attaching more debug
> information (the /var/log/messages from mediaproxy, the ngrep output
> and some xlog statements in the ser.cfg file) beside some comments in
> the file reINVITE_debug_problem.txt.
>
>> - Is your session really set up initially (before the reINVITE)?
>> (mediaproxy reports 0/0/0 bytes)
>
> At least i have ringback tone. Then, when the call is answered i
> have an OK and a ACK message coming to my SER box, then inmediatly
> the reINVITE message arrives Asterisk box.
>
>
> For what i can see from the debug the "nat=yes" is never reached
> because the caller has a "valid ip" and therefore the first "if" in
> the statament
>
> if (method=="INVITE" && client_nat_test("3")) {
> # INSERT YOUR IP ADDRESS HERE
> record_route_preset("64.76.148.246:5060;nat=yes");
> xlog("L_INFO", "time [%Tf] RECORD ROUTE SECTION :
> invite & client_nat_test(3) TRUE ,record_route_preset [%rm]\n");
> } else if (method!="REGISTER") {
> xlog("L_INFO", "time [%Tf] RECORD ROUTE SECTION :
> record_route [%rm]\n");
> record_route();
> };
>
> from the RECORD ROUTE SECTION is FALSE.
>
> Also, i don't understand why the second OK (the one from the
> reINVITE) is not procesed in the ONREPLY ROUTE, or at least i don't
> see any statement from the "xlog" in the debug. Is this normal?
>
> Thanks.!
> Regards,
>
> Ricardo Martinez.-
>
>
>> -----Mensaje original-----
>> De: Greger V. Teigre [mailto:greger@teigre.com]
>> Enviado el: Lunes, 18 de Julio de 2005 2:45
>> Para: Ricardo Martinez; serusers(a)lists.iptel.org
>> Asunto: Re: [Serusers] Problem : Can SER process the reINVITE
>> messages properly?
>>
>>
>> Hi Ricardo,
>> Thanks for a detailed analysis. Some questions:
>> - Is your session really set up initially (before the reINVITE)?
>> (mediaproxy reports 0/0/0 bytes)
>> - You didn't show the ngrep trace. The script uses nat=yes in
>> the Route
>> header of the INVITE to detect a nat'ed client. Can you
>> verify that the
>> reINVITE has the nat=yes?
>> - You haven't showed the mediaproxy log (it will show the
>> callers reporting
>> in etc). That could help (default /var/log/messages)
>> - You can put a log statement in the loose_route section
>> after the test for
>> nat=yes to see if use_media_proxy was called
>>
>> g-)
>>
>> Ricardo Martinez wrote:
>>> Hello.
>>> I'm having problems trying to make SER, NAT'd endpoints
>> and reINVITE
>>> work together.
>>> I was using the "gw-pstn3.07.cfg" file from onsip.org to do some
>>> tests, and this is what i have. In one side i have an Asterisk with
>>> an endpoint registered in it (let's call it A). In the other side i
>>> have a PAP2 under NAT (let's call it B).
>>>
>>>
>>> A ---------- Asterisk ----------- SER ----------- B (NAT'd)
>>> 200.0.0.7 200.0.0.6 200.0.0.5
>>> 10.0.0.4
>>>
>>> When i make a call from "A" to "B" this is what i see (in terms of
>>> SDP). Looking from SER.
>>>
>>> A --------- Asterisk ------------ SER ------------ B (NAT'd)
>>> Public:
>>> 200.0.0.4
>>> 200.0.0.7 200.0.0.6 200.0.0.5
>> Inside:
>>> 10.0.0.1
>>>
>>> INVITE
>>> c:200.0.0.6:19996
>>> ------------------->
>>> INVITE
>>> c:200.0.0.5:35010
>>> ---------------->
>>>
>>>
>>> Caller Via Called Status
>>> Duration Codec Type Traffic
>>>
>> --------------------------------------------------------------
>> ------------
>>> 200.0.0.6:19996 - 200.0.0.5:35010 - ?.?.?.?:? inactive 0'04"
>>> Unknown Audio 0/0/0
>>>
>>> Total traffic: 0bps/0bps/0bps (in1/in2/out)
>>> Session count: 1
>>>
>>> So far is ok..........and the phone is answered
>>> OK
>>> c:10.0.0.1:16440
>>> <---------------- (the phone is
>>> answered)
>>> OK
>>> c:200.0.0.5:35010
>>> <---------------------
>>>
>>> reINVITE
>>> c:200.0.0.7:19996
>>> --------------------->
>>> reINVITE
>>> c:200.0.0.7:19996
>>> ---------------->
>>>
>>> OK
>>> c:10.0.0.1:16440
>>> <----------------
>>> OK
>>> c:10.0.0.1:16440
>>> <---------------------
>>>
>>> Finally according to the "session" information :
>>>
>>> Caller Via Called
>>> Status Duration Codec Type Traffic
>>>
>> --------------------------------------------------------------
>> --------------
>>> ----------
>>> 200.0.0.6:19996 - 200.0.0.5:35010 - 200.0.0.7:16420 inactive
>>> 0'26" G729 Audio 0/11.48k/11.48k
>>>
>>> Total traffic: 0bps/0bps/0bps (in1/in2/out)
>>> Session count: 1
>>> And the audio is only in one way. :(
>>>
>>> So. you can see the reINVITE message apparently is not being
>>> processed as a call to a NAT'd endpoint and therefore is not using
>>> the mediaproxy, you can see the second "OK" messsage has the invalid
>>> IP from the NAT'd user is in his sdp information.
>>> As i said it before i am using the gw-pstn configuration
>> file from the
>>> onsip.org and as far as i can remember this configuration can handle
>>> the reINVITE? isn't
>>> I'm also using the last version of the mediaproxy (1.3.1).
>>> Can someone tell me what i'm doing wrong?
>>>
>>> Hope someone could help me here.
>>> Thanks in advance.
>>> Regards...
>>>
>>> Ricardo Martinez.-
>>>
>>> _______________________________________________
>>> Serusers mailing list
>>> serusers(a)lists.iptel.org
>>> http://lists.iptel.org/mailman/listinfo/serusers
Hi all,
I have installed ser-0.8.12-0 and ser-mysql-0.8.12-0
on Redhat Linux 9 machine. I have installed mysql4.0
version also. Iam not able to find mysql.so file under
/usr/lib/ser/modules directory. Can someone let me
know what could be wrong with my installation?
Thanks&Regards,
Dinesh
__________________________________________________________
How much free photo storage do you get? Store your friends 'n family snaps for FREE with Yahoo! Photos http://in.photos.yahoo.com
---------- Forwarded message ----------
From: Carl <s9134131(a)gmail.com>
Date: 2005/7/19 上午 11:51
Subject: sems + ser = trouble !! @@"
To: serusers(a)iptel.org
hi everybody:
i have a ser + sems system. but there are some questions troubled me.
i don't know what my system happened!
now i have some question:
1.my voicemail can record voice message, but i can't listen the voice
before i left message(tell that you can begin talking).
2.my ser is always forward all calls into voicemail, even if receiver
is online. i dont know how to confige ser.cfg, can anyone help me ?
3.there are some messages like this , what's going on ?
(5208) WARNING: reloadModuleConfig (SemsConfiguration.cpp:66): no
configuration found for module isdngw, maybe you want to specify
config.isdngw in config file.
(5208) WARNING: sig_usr (sems.cpp:75): signal 2 received
(5207) WARNING: sig_usr (sems.cpp:75): signal 2 received
(5207) WARNING: sig_usr (sems.cpp:75): signal 17 received
thanks, Carl
the following are my ser.cfg and sems.conf
#--------------------------------------------------------------------------------------------------
#
# $Id: ser.cfg,v 1.21 2003/06/04 13:47:36 jiri Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (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"
loadmodule "/usr/local/lib/ser/modules/vm.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
# -- auth params --
# Uncomment if you are using auth module
#
modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
modparam("auth_db", "password_column", "password")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
# -- vm params --
modparam("voicemail", "db_url","mysql://ser:heslo@localhost/ser")
modparam("voicemail", "subscriber_table", "subscriber")
modparam("voicemail", "email_column", "email_address")
# ------------------------- request routing logic -------------------
# main routing logic
route{
log(1, "entering main loop\n");
if (method=="REGISTER")
log(1, "REGISTER message received\n");
if (method=="INVITE")
log(1, "INVITE message received\n");
if (method=="ACK")
log(1, "ACK message received\n");
if (method=="BYE")
log(1, "BYE message received\n");
if (method=="CANCEL")
log(1, "CANCEL message received\n");
if (method=="SUBSCRIBE")
log(1, "SUBSCRIBE message received\n");
if (method=="NOTIFY")
log(1, "NOTIFY message received\n");
if (method=="OPTIONS")
log(1, "OPTIONS message received\n");
if (method=="INFO")
log(1, "INFO message received\n");
if (method=="MESSAGE")
log(1, "MESSAGE message received\n");
if (method=="REFER")
log(1, "REFER message received\n");
# lookup("aliases");
# 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;
};
# check changed from 0.8.11 to 0.8.12
# if (len_gt( max_len )) {
if (msg:len > max_len) {
sl_send_reply("513", "Message too big");
break;
};
# if (!uri==myself) {
# sl_send_reply("404", "not reponsible for host in request-uri");
# break;
# };
# Voicemail specific configuration - begin
if(method=="ACK" || method=="INVITE" || method=="BYE" ||
method=="REFER" || method=="CANCEL"){
log(1, "Entering voicemail processing\n");
log(1, "check if new transaction ... \n");
if(t_newtran()){
log(1, "... yes, new transaction\n");
t_reply("100","voicemail ser - Trying -- just
wait a minute !");
t_reply("100","voicemail ser - Trying 2 --
just wait a minute !");
if(method=="INVITE" || method=="REFER"){
log("**************** vm start
- begin ******************\n");
if( uri =~ "conference" ){
log(1, "incoming
conference call\n");
if(!vm("/tmp/am_fifo","conference")){
log("could not
contact conference server\n");
t_reply("500","could not contact conference server");
};
}
else if( uri =~ "echo" ){
log(1, "incoming echo call\n");
if(!vm("/tmp/am_fifo","echo")){
log("could not
contact echo\n");
t_reply("500","could not contact echo");
};
}
else {
log(1, "incoming
voicemail call\n");
if(!vm("/tmp/am_fifo","voicemail")){
log("could not
contact voicemail\n");
t_reply("500","could not contact voicemail");
};
};
log("**************** vm start
- end ******************\n");
break;
};
if(method=="BYE" || method=="CANCEL"){
log("**************** vm
end/refer - begin ******************\n");
if(!vm("/tmp/am_fifo","bye")){
log("could not contact
the media server\n");
t_reply("500","could
not contact the media server");
};
log("**************** vm
end/refer - end ********************\n");
break;
};
}
else {
log("could not create new transaction\n");
sl_send_reply("500","could not create new transaction");
};
};
# Voicemail specific configuration - end
sl_send_reply("501", "method not understood here");
log(1, "method not understood here\n");
}
===========================================================
i dont have modified sems.conf
===========================================================
please help me !! thanks, Carl
Hi all,
At this moment, I want to setup a prepaid application using astcc and using multiple asterisk b2bua for pstn gateway. Even though, there have some discussion about prepaid application on ser, yet, I'm not smart enough to make it work just base on that.
I have successfully installed asterisk, astcc and ser. What I'm thinking is to create a new table which aggregate everything from both subscriber table in ser and cards table in astcc, and then modify the username and password field (ser) to number and pin of cards table. Am i doing wrong? Is any others elegant approaches to make my prepaid work?
I need yours valuable input.
Thanks
Seong
Hi all,
I'm willing to install SER from scratch. Now, I'm using red hat 7.3 in a
lab enviroment. I now it is outdated so, which linux distribution do you
recomend for installing SER ( and asterisk ) ?
I've heard that gcc is something critical ...
Thank you ...
Best regards,
Lucas
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.323 / Virus Database: 267.9.1/51 - Release Date: 18/07/2005