Re: SER+Asterisk настройка
К слову вот мой ser.cfg тут 192.168.100.50 - Asterisk
192.168.100.56 - SER При такой конфигурации звонок проходит, но когда снимаю трубку с телефона на который звонишь,
в трубке вызывающего телефона продолжают раздаваться гудки. В логе пишеться: INVITE New URI = sip:1-333@192.168.100.111:5060, t_relay()ing now
ERROR: forward_reply: no 2nd via found in reply
ERROR: forward_reply: no 2nd via found in reply
ERROR: forward_reply: no 2nd via found in reply
Sending INVITE (URI = sip:1-333@192.168.100.111:5060) to Contact () Очень смущает строка ERROR: forward_reply: no 2nd via found in reply ===================================================== # simple quick-start config script
#
# ----------- global configuration parameters ------------------------ debug=5 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd. line: -E)
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
sip_warning=no
children=4
fifo="/tmp/ser_fifo"
log_facility=LOG_LOCAL0
listen=192.168.100.56
port=5060 # ------------------ 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/exec.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/xlog.so" # RADIUS support # Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/ser/modules/acc.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_radius.so" # ----------------- setting module-specific parameters --------------- # usrloc params --
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 0) # rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1) # acc params --
modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1) # auth_radius params --
modparam("auth_radius", "radius_config", "/usr/local/etc/radiusclient-ng/radiusclient.conf") # registrar params --
modparam("registrar", "default_expires", 600)
modparam("registrar", "min_expires", 300)
modparam("registrar", "max_expires", 600)
# ------------------------- 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")) {
log(1,"LOG: Too many hops");
sl_send_reply("483","Too Many Hops");
break;
};
if ( msg:len > max_len ) {
log(1,"LOG: Message too big");
sl_send_reply("513", "Message too big");
break;
};
force_rport();
# fix_nated_contact(); # -------------------------------------------- if(uri==myself){ # All REGISTER attempts are processed and must always be authenticated
if (method=="REGISTER"){
if (!radius_www_authorize("192.168.100.56")) {
www_challenge("192.168.100.56", "0");
break; };
xlog("L_INFO", "Registered Contact %ct, URI = %ru");
save("location");
break;
};
};
# -------------------------------------------- record_route(); # -------------------------------------------- # Loose-route processing
if(loose_route()){
xlog("L_INFO", "loose_route(): Looking up %rm URI %ru from %is");
lookup("location");
xlog("L_INFO", "loose_route(): t_relay() %rm to URI %ru");
t_relay();
break;
}; # -------------------------------------------- if (method=="ACK" || method=="INVITE" || method=="BYE" || method=="REFER") {
if (uri=~"^sip:@") {
if (lookup("location")) {
xlog("L_INFO", "Sending %rm (URI = %ru) to Contact (%ct)");
}
else
{
xlog("L_INFO", "Sending URI (%ru) to Asterisk!!!"); rewritehostport("192.168.100.50:5060"); }; }; xlog("L_INFO", "INVITE New URI = %ru, t_relay()ing now");
t_relay();
# forward(uri:host, uri:port);
break; };
# -------------------------------------------- lookup("location");
xlog("L_INFO", "Default t_relay() (method = %rm, URI = %ru, >From = %is)"); if(!t_relay()){
xlog("L_INFO", "Failed sending requesting %rm URI (%ru)");
sl_reply_error();
}; }
|