Hi all,
I tried to install SER-0.9, I don't know y but the service just didn't
start, /usr/local/sbin/ser or :
[root@linux ser-0.8.14]# serctl start
Starting SER : PID file /var/run/ser.pid does not exist -- SER start failed
any ideas??
I know this may be silly, but how can i uninstall SER (installed from a src
file, not RPM)??
there's no make uninstall or something like that...
Thanks guys!
All,
I've posted a new tip on the Integrics website. It's on how ISPs can
offer VoIP service to their customers, and why it makes good business
sense to do so.
http://integrics.com/tips/voip_for_isps/
Older tips can be found at:
http://integrics.com/tips/
--
Alistair Cunningham,
Integrics Ltd,
Telephony, Database, Unix consulting worldwide
+44 (0)7870 699 479
http://integrics.com/
Hi Andrei,
Thanks for your reply.
Ser failed to start because of in ser.cfg :
#if (src_ip==193.175.135.0/24){
force_send_socket(smaug:5080);
forward(193.175.135.179);
break;
}
What is it ?
I add in ser.cfg :
fifo_db_url="mysql://admin:heslo@127.0.0.1/ser"
so ser start but /tmp/ser_fifo is owned by root not
ser user !?
May i have to change ser.cfg or ser start sript to get
/tmp/ser_fifo owned by ser ?
Regards
Harry
--- Andrei Pelinescu-Onciul
<pelinescu-onciul(a)fokus.fraunhofer.de> wrote:
> On Mar 10, 2005 at 11:18, harry gaillac
> <gaillacharry(a)yahoo.fr> wrote:
> > Hi,
> >
> > I try to build Debian packages from CVS.
> > I set init script from CVS to build ser-0.9.0 but
> > /tmp/ser_fifo is not created and serctl failed !
>
> The fifo is created by ser when it starts.
> You must have fifo="/tmp/ser_fifo" in your ser.cfg.
> If you do and the fifo is still not created, check
> if ser is really
> running.
>
>
> Andrei
>
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/
Ricardo Martinez wrote:
> Yesterday I downloaded the CVS HEAD version with this :
>
> export CVSROOT=:pserver:anonymous@cvs.berlios.de:/cvsroot/ser
> cvs login
> cvs co -r rel_0_9_0 sip_router
Forgot to mention that it's only in the main branch, use "cvs co
sip_router".
Andy
Hi List,
I installed SER on a server with multiple network interfaces. I
found that SER uses different IP source addresses for sip messages
originating from it. Could someone tell me how SER decides which address to
use? Does this depend on destination address of the sip message? Thank you.
Regards,
Minh
Here is my situation:
UAC1----\ /-------PSTN
\ SER----ASTERISK/
/ \
UAC2----/ \
\----- INTERNET
SER listening on 192.168.1.100 (towards the internal LAN -> UAC1 and
UAC2), and on 88.148.87.236 towards the internet ;
SER doing NAT between the internal and external networks;
SER serving as a registrar;
RTP Proxy installed on the SER machine,
and started with rtpproxy -l 192.168.1.100/88.148.87.236
problem is NATed UAC1 and UAC2 don't get any audio when calling to a
public endpoint, but can successfully call each other.
when the call is established, I am getting the following errors in the
onreply_route:
6(1742) ERROR: extract_body: message body has lenght zero
6(1742) ERROR: force_rtp_proxy2: can't extract body from the message
are there any parameters that should be handed to force_rtp_proxy()? i
noticed it has been called with II/EI/IE in the application layer
gateway example - alg.cfg marking Internal/External locations. in that
example. however both networks are RFC1918, i.e. no nathelper is
necessary.
below is my ser.cfg. please excuse the excessive logging, but i'm
trying to figure out how it all works...
#
# $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=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=yes # (cmd line: -E)
alias=mertel.net
alias=88.148.87.236
alias=192.168.1.100
check_via=no # (cmd. line: -v)
syn_branch=yes
sip_warning=yes
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/ser_fifo"
server_signature=yes
reply_to_via=no
# ------------------ 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/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/textops.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/exec.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"
loadmodule "/usr/local/lib/ser/modules/acc.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
# ----------------- setting module-specific parameters ---------------
modparam("tm", "fr_timer", 12)
modparam("tm", "fr_inv_timer", 24)
modparam("usrloc", "db_mode", 2)
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("rr", "enable_full_lr", 1)
modparam("acc", "db_flag", 2)
modparam("acc", "db_missed_flag", 3)
modparam("registrar", "nat_flag", 6)
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
# ------------------------- request routing logic -------------------
route {
log(1, "--------\n");
log(1, "LOG:Entering main route loop\n");
#initial sanity checks
if (!mf_process_maxfwd_header("10")) {
log(1, "LOG: Too many hops\n");
sl_send_reply("483", "Too many hops");
break;
};
if (msg:len > max_len) {
sl_send_reply("513", "Message too big");
};
# test if the client is nated
if(nat_uac_test("3")) {
log(1, "LOG:NAT detected\n");
if(method=="REGISTER" || ! search("^Record-Route:")) {
log(1, "LOG: Received REGISTER request from a NATed
client, calling fix_nated_contact()... \n");
if(!fix_nated_contact()) {
log(1, "LOG: fix_nated_contact() FAILED!\n");
} else {
log(1, "LOG: fix_nated_contact() successful.\n");
};
if(method=="INVITE") {
log(1, "LOG: Received INVITE request, calling
fix_nated_sdp()...\n");
if(!fix_nated_sdp("1")) {
log(1, "LOG: fix_nated_sdp() FAILED!\n");
} else {
log(1, "LOG: fix_nated_sdp() successful.\n");
};
};
log(1, "LOG: Calling force_rport()...\n");
if(!force_rport()) {
log(1, "LOG: force_rport() FAILED !\n");
} else {
log(1, "LOG: force_rport() successful.\n");
};
log(1, "LOG: calling setflag(6)...\n");
if(!setflag(6)) {
log(1, "LOG: setting flag 6 FAILED!\n");
} else {
log(1, "LOG: Flag 6 set successfully.\n");
};
append_hf("P-hint: fixed NAT contact for request\r\n");
}; # close if(method=="REGISTER");
}; #close if(nat_uac_test)
if (method=="REGISTER") log(1, "LOG: REGISTER msg received.\n");
if (method=="INVITE") log(1, "LOG: INVITE msg received.\n");
if (method=="ACK") log(1, "LOG: ACK msg received.\n");
if (method=="BYE") log(1, "LOG: INVITE msg received.\n");
if (method=="CANCEL") log(1, "LOG: CANCEL msg received.\n");
if (method=="SUBSCRIBE") log(1, "LOG: SUBSCRIBE msg received.\n");
if (method=="NOTIFY") log(1, "LOG: NOTIFY msg received.\n");
if (method=="OPTIONS") log(1, "LOG: OPTIONS msg received.\n");
if (method=="INFO") log(1, "LOG: INFO msg received.\n");
if (method=="MESSAGE") log(1, "LOG: MESSAGE msg received.\n");
if (method=="REFER") log(1, "LOG: REFER msg received.\n");
if(!method=="REGISTER") {
log(1, "LOG: recording route...\n");
record_route();
};
#if processing a loose route()
if (loose_route()){
log(1, "Processing loose route.\n");
append_hf("P-hint: rr-enforced");
t_relay();
break;
};
# ROUTING TOWARDS ASTERISK
if ((uri=~"sip:033[0-9]{3,20}@.*") |
(uri=~"sip:02[0-9]{3,20}@.*") | (uri=~"sip:[56][0]{2}@.*") |
uri=~"sip:08314[0-9]{4}@" | uri=~"sip:12[34]@" |
uri=~"sip:32[0]{3}[1]@" ) {
log(1, "LOG: Destination is Asterisk - switching to route[3]\n");
route(3); # - handles routing to Asterisk GW
break;
};
if (!(uri==myself)) {
log(1, "LOG: Detected an outbound destination (uri!=myself) -
switching to route[2]\n");
append_hf("P-hint: outbound");
route(2); # - handles routing to outbound destinations, i.e. not local
break;
};
if(uri==myself) {
log(1, "LOG: uri==myself \n");
if(method=="REGISTER") {
log(1, "LOG: Analyzing REGISTER request\n");
if(!www_authorize("mertel.net", "subscriber")) {
log(1, "LOG: User not authorized - sending
www_challenge()...\n");
www_challenge("mertel.net","0"); #this reenters route block
break;
};
if(!is_user("replicator") & !check_to()) {
log(1, "LOG: Unregistered user registration attempt\n");
sl_send_reply("403", "Only registered users are allowed");
break;
};
log(1, "LOG: User is authorized, saving location...\n");
if(!save("location")) {
log(1, "LOG: !!!!! save location error on
registration !!!!!");
sl_reply_error();
} else {
log(1, "LOG: User location saved successfully.\n");
};
break;
}; # - closes if(method=="REGISTER")
#lookup("aliases");
# mostly offline or non-existent users
if(!lookup("location")) {
log(1, "LOG: Sending 404 not found ! \n");
sl_send_reply("404", "Not found");
break;
};
}; #closes if(uri==myself)
append_hf("P-hint: usrloc aplied");
route(2);
} /* end of initial routing logic */
route[2] {
log(1, "LOG: Entering route[2] now...\n");
# check for RFC1918 ip addresses
# -- NATHELPER --
if(uri=~"[@:](192\.168\. 10\. 172\.(1[6-9]|2[0-9]|3[0-1])\.)" &&
!search("^Route:")) {
sl_send_reply("479", "We do NOT forward to RFC 1918 IP
addresses\n");
break;
};
#check if the NAT Flag is set
if (isflagset(6)) {
log(1, "LOG: flag 6 set => One of the sides is NATed ->
force_rtp_proxy()\n");
if(!force_rtp_proxy()) {
log(1, "LOG: force_rtp_prpoxy FAILED!\n");
} else {
log(1, "LOG: force_rtp_proxy() succeeded!\n");
};
};
log(1, "LOG:setting up reply processing\n");
t_on_reply("2");
# outbound requests are allowed only for registered mertel.net users
if (!(src_ip==88.148.87.236) & !(proxy_authorize("mertel.net",
"subscriber"))) {
# ACK and CANCEL have no security mechanisms so they are just noted
if (method=="ACK" | method=="BYE") {
log(1, "LOG: failed outbound authentication for ACK
granted\n");
} else if (method=="CANCEL") {
log(1, "LOG: failed outbound authentication for
CANCEL granted\n");
} else if ( src_ip==88.148.87.237 ) {
log(1, "LOG: Incoming FROM ASTERISK TO SIP\n");
} else {
proxy_challenge("mertel.net", "0");
break;
};
};
# to maintain credibility of our proxy, we check From in INVITEs
if (!src_ip==88.148.87.236 & method=="INVITE" & !check_from()) {
log(1, "LOG: Spoofed from attempt\n");
sl_send_reply("403", "Use From=id next time");
break;
};
log(1, "LOG: relaying message...\n");
if (!t_relay()) {
log(1, "LOG: t_relay error occured ! \n");
sl_reply_error();
};
}
onreply_route[2] {
log(1, "LOG: entered onreply_route[2] now... \n");
if(isflagset(6) && status =~"(183)|2[0-9][0-9]") {
log(1, "LOG: TRansaction was sent to a NATed client -->
fix_nated_contact() and force_rtp_proxy().\n");
if(!fix_nated_contact()) {
log(1, "LOG: fix_nated_contact() FAILED!\n");
} else {
log(1, "LOG: fix_nated_contact() succeded.\n");
};
if(!force_rtp_proxy()) {
log(1, "LOG: force_rtp_proxy() FAILED!\n");
} else {
log(1, "LOG: force_rtp_proxy() succeded.\n");
};
append_hf("P-hint: fixed NAT contact for response\r\n");
} else if (nat_uac_test("1")) {
log(1, "LOG: Uncaught NAT. => fix_nated_contact()\n");
if(!fix_nated_contact()) {
log(1, "LOG: fix_nated_contact() FAILED!\n");
} else {
log(1, "LOG: fix_nated_contact() succeded.\n");
};
};
if((status=~"100")) {
log(1, "LOG: received status 100\n");
};
if((status=~"180")) {
log(1, "LOG: received status 180\n");
};
if((status=~"202")) {
log(1, "LOG: received status 202\n");
};
}
#route[3] routes calls to the gateway
route[3] {
log(1, "LOG: Entered route[3] now...\n");
# all calls through the gateway must be record routed to assure
# acl acceptance on the gateway
#record_route();
# first the caller needs to be authenticated
if (!(src_ip==88.148.87.236 | method==ACK | method=="CANCEL" |
method=="BYE")) {
if ( ! src_ip==88.148.87.237 ) {
log(1, "LOG: Inbound call FROM ASTERISK !!!\n");
if (!proxy_authorize("mertel.net", "subscriber")) {
proxy_challenge( "mertel.net","0");
break;
} else if (method=="INVITE" & !check_from()) {
log(1, "LOG: Spoofed from attempt\n");
sl_send_reply("403", "Use From=id next time");
break;
};
};
};
rewritehostport("88.148.87.237:5060");
append_hf("P-hint: GATEWAY\r\n");
log(1, "LOG: Relaying to Gateway\n");
if (!t_relay()) {
sl_reply_error();
break;
};
}
Hi Didier,
Thanks for your help.
touch /tmp/ser_fifo; chown ser:ser /tmp/ser_fifo don't
work.
I need help to fix /etc/init.d/ser in order to create
/tmp/ser_fifo.
I try !!
Harry
--- Didier Hung Wan Luk <Didier.HUNG(a)galana.com>
wrote:
> Create the fifo file...
>
> touch /tmp/ser_fifo
>
>
> -----Original Message-----
> From: serusers-bounces(a)lists.iptel.org
> [mailto:serusers-bounces@lists.iptel.org] On Behalf Of
> harry gaillac
> Sent: Thursday, March 10, 2005 1:37 AM
> To: serdev(a)lists.iptel.org
> Cc: serusers(a)lists.iptel.org
> Subject: [Serusers] ser_0.9.0 for debian
>
> Hi All ,
>
> I build ser*.deb packages but when i try to install
> ser
> /tmp/ser_fifo is missing !!
>
> I downloaded sources from CVS two day ago.
> What's wrong ?
>
> Thanks for your help
>
> Harry
>
>
>
>
>
>
> 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/
>
> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
> This mail has been scanned for known virus like
> activity on behalf of GALANA DISTRIBUTION PETROLIERE
> S.A. This E-mail is privileged, confidential and
> intended solely for the addressee(s).Any
> unauthorised dissemination or copying of this
> E-mail, and any use or disclosure of any information
> contained in it, is strictly prohibited and may be
> illegal. If you have received this E-mail in error
> please notify the sender immediately and delete it
> from your system. GALANA DISTRIBUTION PETROLIERE
> S.A. does not accept any liability for any errors,
> omissions, interceptions, corrupted mail, lost
> communications or late delivery which may arise as a
> result of this E-mail or for any virus that may be
> contained in it. Any views or opinions expressed in
> this E-mail are solely those of the author and do
> not necessarily reflect those of GALANA DISTRIBUTION
> PETROLIERE S.A.
>
> Ce courriel a fait l'objet, par GALANA DISTRIBUTION
> PETROLIERE S.A. de vérifications le protégeant des
> virus connus. Ce courriel est personnel,
> confidentiel et adressé exclusivement à son ou ses
> destinataire(s). Toute diffusion ou copie non
> autorisée ainsi que l'usage partiel ou total de son
> contenu est strictement interdit et peut-être
> illégal. Si vous avez reçu ce courriel par erreur,
> merci d'en informer son émetteur et de l'effacer de
> votre ordinateur. GALANA DISTRIBUTION PETROLIERE
> S.A. refuse toutes responsabilités liées aux
> erreurs, omissions, interceptions, déformations,
> communications perdues, ou retards de transmissions
> dont ce courriel pourrait être l'objet ou à
> l'origine ainsi que des virus qu'il pourrait
> contenir. Les avis ou opinions exprimés dans ce
> courriel reflètent exclusivement ceux de son auteur
> et non ceux de GALANA DISTRIBUTION PETROLIERE S.A.
>
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 all,
I am about 3 hours old with SER and I have my server running on one our our development server.
I added a user with:
serctl add zon abc123 zon(a)home.net.my
I added a second user and started making calls. All worked perfectly.
QUESTION:
When I added my user account above, my SIP account will be
sip:zon@arl.net.my since I configured SER to take arl.net.my as the domain
1) Would it be better to create username like 'zon' or with numbers like 511345 ?
2) If my sip uri is sip:zon@arl.net.my, how does someone using a normal phone that is hooked to an ATA called me :) ?
Please advise.
--
Zon
---------------------------------------------------
Sign Up for free Email at http://ureg.home.net.my/
---------------------------------------------------
Hello All,
I am new SER and trying to get information on how it work.
Before i sign up for this list, i was regular lucker of the mailing list.
I know this subject has been discussed lot of times but i find the
proper answer for this.
I guess some will be able to help me with what i am trying to do.
I am planning to have about 10 users connected to SER server and then
they should be able to call any number they wish. I mean to outside
world.
Instead of having 10 different account for this purpose, i would like
to have one account and have them use the same account to make
outbound calls. I don't like to give them the login/password to the
main account.
Can i have a SIP provider (like voicepulse) register to my SER server
and then all the 10 users connect to outbound calls through SER?
Please help me to get this working.
TIA
*This message was transferred with a trial version of CommuniGate(tm) Pro*
since 2 months I am trying to set up a working ser.cfg for the following
situation:
private network | public network
|
172.16.0.0/22 |
|
+------------+
.1/22>| firewall/ |< 111.222.333.444
| router |
+------------+
|
|
+------------+
| SER |
.5/22>| + |<111.222.333.555
| RTPPROXY |
+------------+
|
The purpose of this situation is to insure QoS for VoIP service
host using standard internet service is routed via 172.16.0.1 router
when using a VoIP service, all SIP and RTP/RTPC messages should flow
via 172.16.0.5 Sip Proxy
Does anyone have a working configuration for such a situation ?
Henri