Hello,
we have internal discussions about on which OS plaform to finally run SER.
My partner is a freeBSD geek and i use Linux since 1992 so i would like
to stay with debian linux for SER production servers. Especially as
SER is developed unter Linux and therefore bugfixes will work instantly
on linux but not neccessarily on freeBSD.
So, has anyone running a production system under freeBSD? What OS out of
the two you recommend? Do you prefer a different Unix Flavour for using
SER with?
best regards,
Arnd
Yes, I have to instances of SER running in 2 different ports at the some
computer.One to connect to SEMS (port 5090) and other (port 5060) to route
working as a normal proxy and routing the messages to SER (port 5090) so
that the voicemail can enter.
I did as suggested in the faqs
http://iptel.org/~faqomatic/fom-serve/cache/92.html and it worked well.
Best Regards,
João
-----Original Message-----
From: Arnd Vehling [mailto:av@nethead.de]
Sent: terça-feira, 27 de Janeiro de 2004 19:36
To: Joao Sampaio
Cc: 'serusers(a)lists.iptel.org'
Subject: Re: [Serusers] Voicemail
do you have 2 instances of SER running? You need an extra instance of SER
for
routing calls to SEMS.
regards,
Arnd
Hello,
I'm trying for long hours to put voicemail working in my network. I'm using
SEMS version from CVS and SER 0.8.12
I read many past emails from the serusers list and I follow the examples in
FAQ by Jiri.
I create a group in ser's database named "voicemail" with serctl acl grante
<username> <group> and put there all my usernames registered in SER's
database.
I'm having always 2 problems;
- is_user_in("Request-URI", "voicemail") always return false even if
the user is in the group of voicemail in tables grp from SER'c database;
- if I force setflag(4) to be true I always get the error "could not
contact announcement server" or "could not contact voicemail server"
Does anyone have some idea what is happening?
Thank you.
João
Here are my config files:
#
# $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
#
# simple quick-start config script
#
## vm_proxy 2004/01/26 Joao Sampaio
# ----------- 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 ----------------------------------
#
# $Id: vm_proxy.cfg,v 1.1 2003/10/30 14:52:41 jiri Exp $
#
# simple proxy script for forwarding to voicemail server
# for unavailable users
#
loadmodule "/usr/lib/ser/modules/sl.so"
loadmodule "/usr/lib/ser/modules/tm.so"
loadmodule "/usr/lib/ser/modules/rr.so"
loadmodule "/usr/lib/ser/modules/maxfwd.so"
loadmodule "/usr/lib/ser/modules/mysql.so"
loadmodule "/usr/lib/ser/modules/group.so"
loadmodule "/usr/lib/ser/modules/usrloc.so"
loadmodule "/usr/lib/ser/modules/registrar.so"
# time to give up on ringing -- global timer, applies to
# all transactions
modparam("tm", "fr_inv_timer", 10)
# database with user group membership
modparam("group", "db_url", "mysql://ser:heslo@localhost/ser")
# --------------------- request routing logic -------------------
route {
if (!mf_process_maxfwd_header("10")) {
log("LOG: Too many hops\n");
sl_send_reply("483", "Alas Too Many Hops");
break;
};
if (!(method=="REGISTER")) record_route();
if (loose_route()) {
t_relay();
break;
};
if (!uri==myself) {
t_relay();
break;
};
if (method == "REGISTER") {
if (!save("location")) {
sl_reply_error();
};
break;
};
# does the user wish redirection on no availability? (i.e., is he
# in the voicemail group?) -- determine it now and store it in
# flag 4, before we rewrite the flag using UsrLoc
if (1){ #is_user_in("Request-URI", "voicemail")) { ###Force
setflag(4) to be true###
setflag(4);
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
# handle user which was not found
route(4);
break;
};
# if user is on-line and is in voicemail group, enable redirection
if (method == "INVITE" && isflagset(4)) {
t_on_failure("1");
};
t_relay();
}
# ------------- handling of unavailable user ------------------
route[4] {
# non-Voip -- just send "off-line"
if (!(method == "INVITE" || method == "ACK" || method == "CANCEL"))
{
sl_send_reply("404", "Not Found");
break;
};
# not voicemail subscriber
if (!isflagset(4)) {
sl_send_reply("404", "Not Found and no voicemail turned
on");
break;
};
# forward to voicemail now
rewritehostport("10.112.64.121:5090");
t_relay_to_udp("10.112.64.121", "5090");
}
# if forwarding downstream did not succeed, try voicemail running
# at bat.iptel.org:5090
failure_route[1] {
revert_uri();
rewritehostport("10.112.64.121:5090");
append_branch();
t_relay_to_udp("10.112.64.121", "5090");
}
----------------------------------------------------------------------------
----------------------------------------------------------------------------
---------------
#
# $Id: voicemail.cfg,v 1.2 2003/10/10 06:27:18 jiri Exp $
#
# this script is configured for use as voicemail UAS; it processes
# INVITEs and BYEs and asks SEMS to record media via "vm"; in this
# script, all record-routing and other constructs known from proxy
# scripts are not present -- it is a simple UAS
#
# ----------- global configuration parameters ------------------------
#debug= # debug level (cmd line: -dddddddddd)
#fork=no
#log_stderror=yes # (cmd line: -E)
debug=4
#fork=no
log_stderror=yes
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5090
#children=4
fifo="/tmp/vm_ser_fifo"
# ------------------ module loading ----------------------------------
loadmodule "/usr/lib/ser/modules/sl.so"
loadmodule "/usr/lib/ser/modules/tm.so"
loadmodule "/usr/lib/ser/modules/maxfwd.so"
loadmodule "/usr/lib/ser/modules/mysql.so"
loadmodule "/usr/lib/ser/modules/vm.so"
# ----------------- setting module-specific parameters ---------------
modparam("voicemail", "db_url","mysql://ser:heslo@localhost/ser")
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwars==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
break;
};
if (msg:len > max_len){ #len_gt( max_len )) {
sl_send_reply("513", "Message too big");
break;
};
if (!uri==myself) {
sl_send_reply("404", "not reponsible for host in r-uri");
break;
};
# Voicemail specific configuration - begin
if(method=="ACK" || method=="INVITE" || method=="BYE"){
if (!t_newtran()) {
log(1,"could not create new transaction\n");
sl_send_reply("500","could not create new
transaction");
break;
};
t_reply("100","Trying -- just wait a minute !");
if(method=="INVITE"){
log(1,"**************** vm start - begin
******************\n");
if (uri=~"9999(a)10.112.64.121"){
#"sip:as_welcome@.*" || uri=~"sip:as_nomoney@.*") {
if (!vm("/tmp/am_fifo", "announcement")) {
log(1,"couldn't contact announcement
server\n");
t_reply("500", "couldn not contact
announcement server");
};
} else {
if(!vm("/tmp/am_fifo","voicemail")){
log(1,"could not contact the answer
machine\n");
t_reply("500","could not contact the
answer machine");
};
};
log(1,"**************** vm start - end
******************\n");
} else if(method=="BYE"){
log(1,"**************** vm end - begin
******************\n");
if(!vm("/tmp/am_fifo","bye")){
log(1,"could not contact the answer
machine\n");
t_reply("500","could not contact the answer
machine");
};
log(1,"**************** vm end - end
******************\n");
};
break;
};
if (method=="CANCEL") {
sl_send_reply("200", "cancels are junked here");
break;
};
sl_send_reply("501", "method not understood here");
}
________________________
João Sampaio
PT Inovação, SA
SRM - Serviços e Redes Móveis
email: est-j-sampaio(a)ptinovacao.pt
Tlf: +351 234511160-1907 / +351 234403421
Thanks,
No, sems is working and is configured to listen to /temp/am_fifo
I got this log when I start sems:
Sems[3090]: Warning: signal 15 received
Sems[3090]: Warning: signal 17 received
Sems[3278]: Warning: no configuration found for module isdngw, maybe you
want to specify config.isdngw in config file.
Sems[3278]: Warning: no configuration found for module semstalk, maybe you
want to specify config.semstalk in config file.
Sems[3278]: Warning: no configuration specified for module ttsannounce.
Sems[3278]: Warning: using default configuration:
Sems[3278]: Warning: FestivalServer = "localhost"
Sems[3278]: Warning: FestivalPort = "1314"
Sems[3278]: Warning: FestivalVoice = "rab_diphone"
Sems[3278]: Warning: Caching = true
Sems[3278]: Warning: CachePath = "/tmp/"
Sems[3278]: Warning: no configuration found for module ttsannounce, maybe
you want to specify config.ttsannounce in config file.
Sems[3278]: Warning: no configuration specified for module ttsannounce.
Sems[3278]: Warning: using default configuration:
Sems[3278]: Warning: AnnouncePath = "texts/"
Sems[3278]: Warning: AnnounceFile = "default.txt"
Sems[3278]: Warning: FestivalServer = "localhost"
Sems[3278]: Warning: FestivalPort = "1314"
Sems[3278]: Warning: FestivalVoice = "rab_diphone"
Sems[3278]: Warning: Caching = true
Sems[3278]: Warning: CachePath = "/tmp/"
When I try one call waiting for enter in the voice mail I get a message "408
Request Timeout" on the caller phone and got this log:
Sems[3278]: Error: 404 voicemail: no email address for user <pingtel>
ser[3145]: ERROR: fifo_server: command vm_reply is not available
ser[3145]: ERROR: fifo_server: command must begin with :: voicemail: no
email address for user <pingtel>
ser[3145]: ERROR: fifo_server: command must begin with :: 00000CCE64B26C3F
ser[3145]: ERROR: fifo_server: command must have at least 3 chars
ser[3139]: ERROR: t_should_relay: status rewrite by UAS: stored: 408,
received: 487
Sems[3278]: Error: AmRequestUAS::reply: 500 command 'vm_reply' not available
Any ideas?
Thank you all.
Best regard,
João
-----Original Message-----
From: Raphael Coeffic [mailto:rco@iptel.org]
Sent: terça-feira, 27 de Janeiro de 2004 14:32
To: Joao Sampaio; serusers(a)lists.iptel.org
Subject: Re: [Serusers] Voicemail
>- if I force setflag(4) to be true I always get the error "could not
>contact announcement server" or "could not contact voicemail server"
There are two options:
1. Sems is not running.
2. Sems hasn't been configured to listen to /tmp/am_fifo.
As /tmp/am_fifo is a default value, i would say that you forgot to start
Sems.
-Raphael.
> -----Original Message-----
> From: Rodrigo Frez [mailto:rodrigo@frez.cl]
> Sent: Tuesday, January 27, 2004 2:20 PM
> To: serusers(a)lists.iptel.org
> Subject: [Serusers] About registration routing
>
>
> Every time someone register with the proxy, the registration should
> route to every party register in the proxy?. For example if I have
no! The presence is based on the SUBSCRIBE/NOTIFY framework. This is
independent from REGISTER requests.
> several messenger clients and one singout, the others that have it as
> contact, should see that he is offline... This scenario does not alway
> work, so the registration messages not alway routes to other
> partys. It
> has something to do with ser.cfg?
No. If a Messenger client goes offline, it should send a NOTIFY with
"offline" to all buddies.
regards,
klaus
Every time someone register with the proxy, the registration should
route to every party register in the proxy?. For example if I have
several messenger clients and one singout, the others that have it as
contact, should see that he is offline... This scenario does not alway
work, so the registration messages not alway routes to other partys. It
has something to do with ser.cfg?
thanks
Hello
Again, thank you very much. But with your answers, newer questions
appear.
Well, If I have understood all right, with RTP proxy I can establish a
communication between v4 and v6 clients, so I can 'jump' the problem of
not SDP translations. Is this OK?
And I would like to ask you about the simplest scenario I can imagine
to interconnect IPv4 and IPv6.
A box (probably IBM with Linux or Sun/Solaris 8) with two cards, one
IPv6 and other one IPv4. This box acts as a Proxy Server and Registrar.
But it can acts as IPv6/IPv4 translator (I just have to configure
ser.cfg to listen on both cards and enable Record-route, haven't I?).
And finally this box can acts as RTP Proxy. So, all the features on the
same machine. What do you think about this scenario?
Does RTP Proxy work on Solaris 8?
Thank you very much
Curro
----- Mensaje Original -----
De: "Klaus Darilion" <darilion(a)ict.tuwien.ac.at>
Fecha: Martes, Enero 27, 2004 11:05 am
Asunto: RE: [Serusers] SER, IPv6, IPv6/IPv4 interworking and more
> Put into the ser proxy a second NIC and configure it as IPv6 only.
> enable Record-route and ser will do the v4-v6 translation. For
> establishing an RTP-stream between v4 and v6 clients you can use
> rtpproxy. Take a look of the recent rtpproxy thread in the mailing
> list,there are some explanations what is already supported by
> rtpproxy and
> what has to be done.
>
> klaus
>
> > -----Original Message-----
> > From: CURRO_DOMINGUEZ [mailto:CURRO_DOMINGUEZ@terra.es]
> > Sent: Tuesday, January 27, 2004 10:49 AM
> > To: Jan Janak; serusers(a)lists.iptel.org
> > Subject: Re: [Serusers] SER, IPv6, IPv6/IPv4 interworking and more
> >
> >
> > Ouch!! Not IPv4/IPv6 translation of SDP addresses?
> >
> > Thanks Klaus and Jan for your answers. Well, I thought on a
> > device with
> > 2 network cards because I want to divide IPv6 and IPv4 networks.
> >
> > Do you know whether SER is going to be able to translate SDP
> > addresses
> > in the near future?
> >
> > I have another question. Is the SIP IPv4 server a mandatory
> device in
> > this scenario? I mean, I think I can use the SIP IPv6 server and
> the
> > IPv6/IPv4 translator and nothing else. In this way, IPv4
> > devices would
> > have the translator as SIP Proxy, and the translator would
> redirect
> > thier request to the IPv6 SIP server. So there would be one
> > domain and
> > one registrar.
> >
> > What do you think about this? Is this possible?
> >
> > Thank you very much
> >
> > Curro
> >
> > ----- Mensaje Original -----
> > De: Jan Janak <jan(a)iptel.org>
> > Fecha: Lunes, Enero 26, 2004 12:53 pm
> > Asunto: Re: [Serusers] SER, IPv6, IPv6/IPv4 interworking and more
> >
> > > As mentioned by Klaus, one network device with both IPv4 and IPv6
> > > addresses will do the job. You then need to configure ser to
> > > listen on
> > > both of them and make sure that record-routing is enabled.
> > >
> > > SER can translate SIP signalling, what it can not done yet is
> IPv4-
> > > IPv6translation of SDP addresses.
> > >
> > > Jan.
> > >
> > > On 26-01 11:00, Klaus Darilion wrote:
> > > > You don't need two network cards, one is enough. This
> interface
> > > must be
> > > > configured with an IPv4 and an IPv6 address.
> > > >
> > > > Klaus
> > > >
> > > > > -----Original Message-----
> > > > > From: CURRO_DOMINGUEZ [mailto:CURRO_DOMINGUEZ@terra.es]
> > > > > Sent: Monday, January 26, 2004 10:49 AM
> > > > > To: serusers(a)lists.iptel.org
> > > > > Subject: [Serusers] SER, IPv6, IPv6/IPv4 interworking and more
> > > > >
> > > > >
> > > > > Hello
> > > > >
> > > > > After installing and running over last month SER, we are
> going
> > > to the
> > > > > next step. Our final goal is to deploy a SIP network which
> > > allows SIP
> > > > > clients Voice Call, Videoconference (RTP), Instant Message
> and
> > > > > Presence. And we want to use IPv6 and IPv4 networks.
> > > > >
> > > > > I wonder several questions about this:
> > > > >
> > > > > I'll use a SER server for IPv4 network and another for
> IPv6
> > > network,
> > > > > but how I connect them? I think that I need a device with
> two
> > > network
> > > > > cards connected each one to IPv4 or IPv6. Which software
> has
> > > to run
> > > > > this device to act as a SIP Protocol Gateway? Can SER do this?
> > > > >
> > > > > Do you think that with the two proxy SER servers and the
> SIP
> > > Protocol
> > > > > Gateway would be enough or that I need another device to
> > > > > develope this?
> > > > >
> > > > > Thank you very much for your time and responses
> > > > >
> > > > > Curro
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > 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
> > >
> >
> >
> > _______________________________________________
> > 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
>
Hi,
i've written a simple plugin for Nagios to monitor SER. It leverages
sipsak to register and "ping" a contact on a SIP server (tested with
SER).
Please find the plugin below, consider it GPL2-licensed (read: if you
improve it, i want you to let me know ;) and without any warranty. We
never used it to wake up an engineer, but we've been using it for a
few weeks on our test monitoring instance.
err, not to forger: consider it alpha level software.
share & enjoy.
--
axelm
The original message was received at Tue, 27 Jan 2004 16:13:46 +0500
from [10.0.0.2]
----- The following addresses had permanent fatal errors -----
<anna(a)skyfamily.ru>
(reason: 554 mail server permanently rejected message (#5.3.0))
----- Transcript of session follows -----
... while talking to mx1.masterhost.ru.:
>>> DATA
<<< 554 mail server permanently rejected message (#5.3.0)
554 5.0.0 Service unavailable