Hello.
I think there is a problen with your configuration file.
You have :
if (method=="INVITE") || (method=="CANCEL") {
# Uncomment this if you want to use digest authentication
if (!radius_www_authorize("")) {
www_challenge("", "0");
break;
};
record_route();
rewritehostport("cisco_sip_gw_ip:5060");
if (!t_relay()) {
sl_reply_error();
};
break;
};
so you're not relaying all the SIP messages, maybe this can work :
if (method=="INVITE") || (method=="CANCEL") {
# Uncomment this if you want to use digest authentication
if (!radius_www_authorize("")) {
www_challenge("", "0");
break;
};
};
record_route();
rewritehostport("cisco_sip_gw_ip:5060");
if (!t_relay()) {
sl_reply_error();
break;
};
Hope this work.
Good luck.!!
Ricardo Martinez.-
-----Mensaje original-----
De: Todor [mailto:todorakis@gmail.com]
Enviado el: Jueves, 10 de Febrero de 2005 8:15
Para: serusers(a)lists.iptel.org
Asunto: [Serusers] bad call flow
Hi All,
I have a serious problem with SIP call flow over SER.
My SER don't retransmit ACK first and after that don't retransmit BYE
message, too.
Can any one advice me? what can be a reason?
Here are call flow and ser.cfg.
SIPPHONE------------------------SER--------------------------CISCO SIP GW
|-------------INVITE------------>| |
|<----------TRying---------------| |
| |-----------INVITE-------------->|
| |<----------TRying---------------|
| |<------------183----------------|
|<------------183----------------| |
| |<-------------OK----------------|
|---------------ther is two way RTP channel ----------------------|
|<-------------OK----------------| |
|--------------ACK-------------->| |
| |<-------------OK----------------|
|<-------------OK----------------| |
|--------------ACK-------------->| |
| |<-------------OK----------------|
|<-------------OK----------------| |
|--------------ACK-------------->| |
| |<-------------OK----------------|
|<-------------OK----------------| |
|--------------ACK-------------->| SER don't retransmit ACK |
| | and Cisco timedout after 19sec |
| |<-------------BYE---------------|
| |<-------------BYE---------------|
| |<-------------BYE---------------|
| SER don't retransmit BYE |<-------------BYE---------------|
| |<-------------BYE---------------|
#
# $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
# ----------- global configuration parameters ------------------------
debug=8
fork=yes
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 ----------------------------------
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/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_radius.so"
# ----------------- setting module-specific parameters ---------------
modparam("usrloc", "db_mode", 0)
modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic -------------------
route{
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;
};
# authenticate register message using radius
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!radius_www_authorize("")) {
www_challenge("", "0");
break;
};
save("location");
break;
};
# route (proxy) invite message to gateway
if (method=="INVITE") || (method=="CANCEL") {
# Uncomment this if you want to use digest authentication
if (!radius_www_authorize("")) {
www_challenge("", "0");
break;
};
record_route();
rewritehostport("cisco_sip_gw_ip:5060");
if (!t_relay()) {
sl_reply_error();
};
break;
};
}
Show replies by date