Hello
I change Makefile like below.
include ../../Makefile.defs
auto_gen=
NAME=acc.so
LIBS=
# uncomment the next line if you wish to enable SQL accounting
DEFS+=-DSQL_ACC
# uncomment the next two lines if you wish to enable RADIUS accounting
#DEFS+=-DRAD_ACC -I$(LOCALBASE)/include
#LIBS=-L$(LOCALBASE)/lib -lradiusclient
include ../../Makefile.modules
And compiled SER with below parameters.
make all include_modules=mysql
make prefix=/usr/local install include_modules=mysql
Although I can talk between softphones. I could not get record in acc table.
What can be the reason...
Giovanni,
As far as I know, you also need to edit on-reply route in your script.
It seams that you don't correct the contact header of the called party,
which is send in the 200 reply. The script would look like this:
####################################################################
INVITE routing logic is something like this
t_on_reply("1"); #in order to the replies pass to on reply block. You should add this!
if (loose_route()) {
if (has_totag() && method=="INVITE") {
if (nat_uac_test("19")) {
setflag(6);
force_rport();
fix_nated_contact();
};
force_rtp_proxy("l");
t_on_reply("1");
};
t_relay();
break;
}
if (method=="INVITE") {
record_route();
if (nat_uac_test(19)) {
fix_nated_contact();
force_rport();
setflag(6);
}
if ( !isflagset(6) || SAME_NAT) {
t_relay();
} else {
force_rtp_proxy();
t_on_reply("1");
t_relay();
}
}
# When NAT, the 200 (Ok) reply carries the contact header where the called party is reached. If it is
# behind NAT, we need to correct his contact.
onreply_route[1] {
if (status=~"(183)|(2[0-9][0-9])") {
if (client_nat_test("1")) {
fix_contact();
};
use_media_proxy();
};
}
Hello everybody,
I should explain what ever I do one by one.
1. I downloed ser files under "/usr/local/ser-0.8.14" directory.
2. I get in here and open "/usr/local/ser-0.8.14/modules/acc/Makefile"
3. Changed like this DEFS+=-DSQL_ACC
4. While in "/usr/local/ser-0.8.14"
Run these commands :
make all include_modules=mysql
make prefix=/usr/local install include_modules=mysql
setup seemed succesfull.
5. Install SER mysql database.
6. Change ser.cfg like this.
#
# $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)
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
listen=10.90.232.121
listen=127.0.0.1
port=5060
children=4
alias=10.90.232.121
fifo="/tmp/ser_fifo"
fifo_mode=0666
# 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/acc.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/uri.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"
modparam("acc|auth_db|domain|group|speeddial|uri_db|usrloc", "db_url",
"mysql://ser:heslo@10.90.232.121/ser")
#modparam("acc", "db_flag", 1)
#modparam("acc", "db_missed_flag", 1)
#modparam("acc", "log_fmt", "cdfimorstup")
modparam("acc", "log_level", 1)
#modparam("acc", "failed_transactions", 1)
#modparam("acc", "report_cancels", 1)
#modparam("acc", "report_ack", 0)
modparam("acc", "log_flag", 1)
#modparam("acc", "log_missed_flag", 1)
# -- 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", "timer_interval", 60)
modparam("usrloc", "desc_time_order", 1)
# -- 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)
modparam("tm", "fr_timer", 20)
modparam("tm", "fr_inv_timer", 40)
modparam("tm", "wt_timer", 5)
# ------------------------- 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 (loose_route()) { t_relay(); break; };
setflag(1);
/*if (method=="INVITE" || method=="BYE") {
setflag(1);
};*/
/* record-route INVITEs -- all subsequent requests must visit us */
if (method=="INVITE") record_route();
# 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=="INVITE" || method== "CANCEL" || method== "ACK") {
if (!proxy_authorize("10.90.232.121","subscriber")) {
proxy_challenge("10.90.232.121","0");
break;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
break;
};
setflag(1);
consume_credentials();
/*if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};*/
} else if (method=="REGISTER") {
if (!www_authorize("10.90.232.121", "subscriber")) {
www_challenge("10.90.232.121", "0");
break;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
break;
};
consume_credentials();
save("location");
break;
};
lookup("aliases");
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
# forward to current uri now; use stateful forwarding; that
# works reliably even if we forward from TCP to UDP
setflag(1);
if (uri=~"^sip:00[0-9]*@10.90.232.121") { ## This assumes
that the caller is
log("Forwarding to PSTN\n"); ## registered in our realm
rewritehostport("10.90.232.122:5060");
forward(uri:host, uri:port);
#t_relay_to( "10.90.232.122", "5060");
break;
};
if (!t_relay()) {
sl_reply_error();
};
}
Although I can speak between two softphone. There is no record in acc
table. And I could not route calls which starts with "00" to SIP
gateway.
I would be great if you become guide...
Hello everybody,
I should explain what ever I do one by one.
1. I downloed ser files under "/usr/local/ser-0.8.14" directory.
2. I get in here and open "/usr/local/ser-0.8.14/modules/acc/Makefile"
3. Changed like this DEFS+=-DSQL_ACC
4. While in "/usr/local/ser-0.8.14"
Run these commands :
make all include_modules=mysql
make prefix=/usr/local install include_modules=mysql
setup seemed succesfull.
5. Install SER mysql database.
6. Change ser.cfg like this.
#
# $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)
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
listen=10.90.232.121
listen=127.0.0.1
port=5060
children=4
#alias=sipserver.megatelekom.com.tr
alias=10.90.232.121
fifo="/tmp/ser_fifo"
fifo_mode=0666
# 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/acc.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/uri.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"
modparam("acc|auth_db|domain|group|speeddial|uri_db|usrloc", "db_url",
"mysql://ser:heslo@10.90.232.121/ser")
#modparam("acc", "db_flag", 1)
#modparam("acc", "db_missed_flag", 1)
#modparam("acc", "log_fmt", "cdfimorstup")
modparam("acc", "log_level", 1)
#modparam("acc", "failed_transactions", 1)
#modparam("acc", "report_cancels", 1)
#modparam("acc", "report_ack", 0)
modparam("acc", "log_flag", 1)
#modparam("acc", "log_missed_flag", 1)
# -- 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", "timer_interval", 60)
modparam("usrloc", "desc_time_order", 1)
# -- 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)
modparam("tm", "fr_timer", 20)
modparam("tm", "fr_inv_timer", 40)
modparam("tm", "wt_timer", 5)
# ------------------------- 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 (loose_route()) { t_relay(); break; };
setflag(1);
/*if (method=="INVITE" || method=="BYE") {
setflag(1);
};*/
/* record-route INVITEs -- all subsequent requests must visit us */
if (method=="INVITE") record_route();
# 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=="INVITE" || method== "CANCEL" || method== "ACK") {
if (!proxy_authorize("10.90.232.121","subscriber")) {
proxy_challenge("10.90.232.121","0");
break;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
break;
};
setflag(1);
consume_credentials();
/*if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};*/
} else if (method=="REGISTER") {
if (!www_authorize("10.90.232.121", "subscriber")) {
www_challenge("10.90.232.121", "0");
break;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
break;
};
consume_credentials();
save("location");
break;
};
lookup("aliases");
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
# forward to current uri now; use stateful forwarding; that
# works reliably even if we forward from TCP to UDP
setflag(1);
if (uri=~"^sip:00[0-9]*@10.90.232.121") { ## This assumes that the caller is
log("Forwarding to PSTN\n"); ## registered in our realm
rewritehostport("10.90.232.122:5060");
forward(uri:host, uri:port);
#t_relay_to( "10.90.232.122", "5060");
break;
};
if (!t_relay()) {
sl_reply_error();
};
}
Although I can speak between two softphone. There is no record in acc
table. And I could not route calls which starts with "00" to SIP
gateway.
I would be great if you become guide...
my SER and SERWEB have a good run, but my SEMS have not speak.
when I use sems -E , I have some error :
(4939) WARNING: reloadModuleConfig (SemsConfiguration.cpp:66): no
configuration
found for module isdngw, maybe you want to specify config.isdngw in config
file.(4939) ERROR: send (AmRtpPacket.cpp:119): while sending RTP packet:
Invalid argument
(4939) ERROR: send (AmRtpStream.cpp:179): while sending RTP packet.(4939)
ERROR: send (AmRtpPacket.cpp:119): while sending RTP packet: Invalid
argument
(4939) ERROR: send (AmRtpStream.cpp:179): while sending RTP packet.
and next is my conf file.
#
# $Id: ser.cfg,v 1.21.2.1 2003/07/30 16:46:18 andrei 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"
fifo_mode=0666
# ------------------ 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/group.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)
modparam("usrloc|registrar", "use_domain", 1)
# -- 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)
modparam("group", "db_url", "mysql://ser:heslo@localhost/ser")
# time to give up on ringing -- global timer, applies to
# all transactions
modparam("tm", "fr_inv_timer", 30)
# ------------------------- request routing logic -------------------
# main 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") {
# Uncomment this if you want to use digest authentication
if (!www_authorize("", "subscriber")) {
www_challenge("", "0");
break;
};
if (!save("location")) {
sl_reply_error();
};
break;
};
if (!uri==myself) {
t_relay();
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 (is_user_in("Request-URI", "voicemail")) {
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("sip800.8866.org:5090");
t_relay_to_udp("sip800.8866.org", "5090");
}
# if forwarding downstream did not succeed, try voicemail running
# at vm_host:5090
failure_route[1] {
revert_uri();
rewritehostport("sip800.8866.org:5090");
append_branch();
t_relay_to_udp("sip800.8866.org", "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)
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"
fifo_mode=0666
# fifo_db_url="mysql://ser:heslo@localhost/ser"
# ------------------ module loading ----------------------------------
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/vm.so"
# ----------------- setting module-specific parameters ---------------
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{
# 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 (len_gt( max_len )) {
# sl_send_reply("513", "Message too big");
# break;
#};
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 r-uri");
break;
};
# Voicemail specific configuration - begin
if(method=="ACK" || method=="INVITE" || method=="BYE"){
if (!t_newtran()) {
log("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("**************** vm start - begin
******************\n");
if (uri=~"sip:1000 at .*" || uri=~"sip:1001 at .*")
{
if (!vm("/tmp/am_fifo", "announcement")) {
log("couldn't contact announcement
server\n");
t_reply("500", "couldn not contact
announcement server");
};
} else {
if(!vm("/tmp/am_fifo","voicemail")){
log("could not contact the answer
machine\n");
t_reply("500","could not contact
the answer machine");
};
};
log("**************** vm start - end
******************\n");
} else if(method=="BYE"){
log("**************** vm end - begin
******************\n");
if(!vm("/tmp/am_fifo","bye")){
log("could not contact the answer
machine\n");
t_reply("500","could not contact the answer
machine");
};
log("**************** 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");
}
# $Id: sems.conf.sample,v 1.11.2.5 2004/05/24 14:33:07 rco Exp $
#
# sems.conf.sample
#
# Sip Express Media Server (sems)
#
# sample configuration file
#
#
# whitespaces (spaces and tabs) are ignored
# comments start with a "#" and may be used inline
#
# example: option=value1, value2 # i like this option
#
##################################
# global parameters #
##################################
# optional parameter: fork={yes|no}
#
# - specifies if sems should run in daemon mode (background)
# (fork=no is the same as -E)
fork=yes
# optional parameter: stderr={yes|no}
#
# - debug mode: do not fork and log to stderr
# (stderr=yes is the same as -E)
stderr=no
# optional parameter: loglevel={0|1|2|3}
#
# - sets log level (error=0, warning=1, info=2, debug=3)
# (same as -D)
loglevel=1
# optional parameter: fifo_name=<filename>
#
# - path and file name of our fifo file (same as -i)
fifo_name=/tmp/am_fifo
# optional parameter: ser_fifo_name=<filename>
#
# - path and file name of Ser's fifo file (same as -o)
# ser_fifo_name=/tmp/ser_fifo
ser_fifo_name=/tmp/vm_ser_fifo
# optional parameter: plugin_path=<path>
#
# - sets the path to the plug-ins
# - may be absolute or relative to CWD
plugin_path=/usr/local/lib/sems/plug-in/
# optional parameter: smtp_server=<hostname>
#
# - sets address of smtp server
smtp_server=localhost
# optional parameter: smtp_port=<port>
#
# - sets port of smtp server
smtp_port=25
# optional parameter: rtp_low_port=<port>
#
# - sets port of rtp lowest server
rtp_low_port=1024
# optional parameter: rtp_high_port=<port>
#
# - sets port of rtp highest server
rtp_high_port=65535
##################################
# module specific parameters #
##################################
# sample voicemail configuration (inline)
config.voicemail=inline
# optional parameter: announce_path=<path>
#
# - sets the path where announce files are searched for
# - the file to be played is determined the following way:
# <announce_path>/<domainname>/<username>.wav
# if this file is not available <announce_path>/<default_anounce> is used
announce_path=/usr/local/lib/sems/audio/
# parameter: default_announce=<filename>
#
# - sets the name of the default announce WAV file
default_announce=default_en.wav
# parameter: max_record_time=<seconds>
#
# - maximum record time
max_record_time=30
# parameter: email_template=<filename>
#
# - email template file
#
# See the README file in <sems-src>/plug-in/voicemail
# for more information on the syntax used.
#
email_template=/usr/local/lib/sems/plug-in/mail.template
# end of configuration section for voicemail module
config.voicemail=end
# sample announcement configuration (inline)
config.announcement=inline
# optional parameter: announce_path=<path>
#
# - sets the path where announce files are searched for
announce_path=/usr/local/lib/sems/audio/
# parameter: default_announce=<filename>
#
# - sets the name of the default announce WAV file
default_announce=default_en.wav
# end of configuration section for announcement module
config.announcement=end
# sample isdngw module configuration (external file)
# config.isdngw=/etc/isdngw.conf
# sample ivr module configuration (inline)
config.ivr=inline
#parameter: python_script_path=<full path>
python_script_path=/etc/ivr
#parameter: python_script_file=<filename>
python_script_file=example.py
# end of configuration section for ivr module
config.ivr=end
# sample conference configuration (inline)
config.conference=inline
# parameter: default_announce=<filename>
#
# - sets the full pathed name of the default announce WAV file.
# Will be played to lonely users.
default_announce=/usr/local/lib/sems/audio/first_participant.wav
# parameter: join_sound=<filename>
#
# - sets the full pathed name of a WAV file
# which will be played to conference users
# when a new user joins the conference.
join_sound=/usr/local/lib/sems/audio/beep.wav
# parameter: drop_sound=<filename>
#
# - sets the full pathed name of a WAV file
# which will be played to conference users
# when a user drops the conference.
drop_sound=/usr/local/lib/sems/audio/beep.wav
# end of configuration section for conference module
config.conference=end
# example configuration for number reader
config.number_reader=inline
number_path=/usr/local/lib/sems/audio/
prolog_file=welcome_to_number_reader.wav
epilog_file=thanks_calling_number_reader.wav
# end of number_reader configuration
config.number_reader=end
# add more module configurations here (inline or external):
#
# config.mymodule=<filename>
# or
# config.mymodule=inline
# ...
# config.mymodule=end
-------------------------------------------------
help me , thank you.
B.R.
Zhao Zigang.
_________________________________________________________________
与联机的朋友进行交流,请使用 MSN Messenger: http://messenger.msn.com/cn
Hello,
Has anyone succeeded in getting UAC authentication to work?
I'm doing the following:
route {
resetflag(1);
t_on_failure("1");
route(1);
}
route[1]
{
if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)") {
sl_send_reply("479", "We don't forward to private IP addresses");
break;
};
if (!t_relay()) {
sl_reply_error();
};
}
failure_route[1] {
# authentication reply received?
if ( t_check_status("401|407") ) {
if (!isflagset(1) && uac_auth()) {
setflag(1);
t_on_failure("1");
append_branch();
route(1);
} else {
t_reply("500","Error occurred");
}
break;
}
}
When uac_auth() is called I get the following in the:
0(28973) DEBUG:uac:uac_auth: picked reply is (nil), code 407
0(28973) BUG:uac:uac_auth: empty reply on picked branch
Any suggestions or ideas?
Thank you,
Michael
Hi people,
Do not know if this is the place, bue ... any body used Asterisk as a
sip - h323 gateway ?
I have ser working really fine and I'd like to use asterisk as a gateway
... anybody done this ???
Regards,
Lucas
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.11.9 - Release Date: 12/05/2005