hello friends
i have the problem while forwarding the call to
another
ser proxy
so my scenario is
215104 -- first ser --- second ser --- 36105
ua ua
so in my first ser proxy of ser.cfg i have the used
the forward like this
if(uri=="sip:36105@XXX.XXX.XXXX.in")
{
forward(xxx.xxx.xxx.18,5060);
break;
}
else
{
if !lookup("location"))
{
sl_send_reply
("404","NotFound");
break;
};
}
actaully the operation should be like this
when any user of first ser proxy dial to the second
ser
proxy user the invite should be directed to the second
ser proxy and call should be established
but in the 214105 it says not found 36105
so how to proceed from here what are the changes i
need to made to my ser.cfg
with regards
serdiehard
__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail
Hi,
I downloaded the stable cvs versions a couple of days ago but I haven't
been able to make run yet. I have compiled with both bison and yacc as it
mentioned in a previous post but no luck, even in different PCs.
I am running SuSE 9, SER compiles with warnings about .d files all along
but the build succeeds. Nevertheless, when I try to start it I get the
following output:
0(2363) read 852533296 from /dev/random
0(2363) seeding PRNG with 1946404459
0(2363) test random number 166762925
0(2363) shm_mem_init: success
0(2363) DEBUG: register_fifo_cmd: new command (print) registered
0(2363) DEBUG: register_fifo_cmd: new command (uptime) registered
0(2363) DEBUG: register_fifo_cmd: new command (version) registered
0(2363) DEBUG: register_fifo_cmd: new command (pwd) registered
0(2363) DEBUG: register_fifo_cmd: new command (arg) registered
0(2363) DEBUG: register_fifo_cmd: new command (which) registered
0(2363) DEBUG: register_fifo_cmd: new command (ps) registered
0(2363) DEBUG: register_fifo_cmd: new command (kill) registered
debug=1
0(2363) parse error (1,3-5): parse error
fk=
log_stderr=
check_via=
dns=
rev_dns=
#pt=5
#children=
fifo="/tmp/ser_fifo
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib/ser/modules/sl.so
loadmodule "/usr/local/lib/ser/modules/rr.so
loadmodule "/usr/local/lib/ser/modules/usrloc.so
# Uncomment this if you want digest authenticati
# mysql.so must be loaded
#loadmodule "/usr/local/lib/ser/modules/auth.so
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
modparam("usrloc", "db_mode",
# Uncomment this if you want to use SQL database
# f persistent stage comment the previous line
#modparam("usrloc", "db_mode", 2
# -- auth params --
# Uncomment if you are using auth module
#
#modparam("auth_db", "calculate_ha1",
#
# If you set "calculate_ha1" parameter to (which in this cfig),
# uncomment also the following parameter
#
#modparam("auth_db", "passwd_column", "passwd"
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1
# ------------------------- request routing logic -------------------
# main routing logic
route
# initial sanity checks -- messages with
# max_fwards==, excessively lg requests
if (mf_process_maxfwd_header("1"))
sl_send_reply("483","Too Many Hops")
break
}
if ( msg:len > max_len )
sl_send_reply("513", "Message too big")
break
}
# we recd-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream downstream entities
# use different transpt protocol
recd_route();
# loose-route processing
if (loose_route())
t_relay()
break
}
# if the request is f other domain use UsrLoc
# (in case, it does t wk, use the following comm
# with proper names addresses in it
if (==myself)
if (method=="REGISTER")
# Uncomment this if you want to use digest authenticati
# if (www_authize("iptel.g", "subscriber"))
# www_challenge("iptel.g", "")
# break
# }
save("locati")
break
}
# native SIP destinatis are hled using our USRLOC DB
if (lookup("locati"))
sl_send_reply("44", "Not Found")
break
}
}
# fward to current w; use stateful fwarding; that
# wks reliably even if we fward from TCP to
if (t_relay())
sl_reply_err()
}
ERROR: bad config file (1 errors)
0(2363) shm_mem_destroy
0(2363) destroying the shared memory lock
Why does it output the config file?And why is it corrupted? Please help...
Thanks
Markos
I want to cofig ser as a outbound server to resolve all nat problem. The
follow picture is the system architecture.
uac--nat-->outboud1(ser1+nathelper+rtpproxy)------------->ser(main)
uac--nat-->outboud2(ser2+nathelper+rtpproxy)-------------|
uac--nat-->outboud3(ser3+nathelper+rtpproxy)-------------|
Can someone know if ser can rewrite the uac's contact as itself ip
address and
forward to main ser? Nathelper can rewrite sdp ip/port to it own
ip/port. But it
only rewrite contac with nat's ip and port.
Hi Jesus.
Thanks for you response.
And what about a timestamp parameter inserted by SER?
is that possible?
Thanks in advance.
Ricardo.-
> -----Mensaje original-----
> De: Jesus Rodriguez [SMTP:jesusr@voztele.com]
> Enviado el: Miércoles, 01 de Septiembre de 2004 06:20 p.m.
> Para: Ricardo Martinez
> CC: serusers(a)lists.iptel.org
> Asunto: Re: [Serusers] Radius Accounting Message Format.
>
> On Wed, 1 Sep 2004, Ricardo Martinez wrote:
>
> Hello,
>
> > I succesfully install the auth and acc modules for SER. I'm trying
> > to keep track for the duration of a "local" (or between two registered
> user
> > agents in SER) call. I understand that for a PSTN or Gateway call the
> > Accounting record is placed by the terminating gateway, but i'm
> interesting,
> > as i mentioned, in the local calls. I copy two accounting records from
> my
> > RADIUS server for a local call, as you can see i don't have any
> parameter
> > indicating the duration of the call or even timstamps. Do i have to set
> > anything else in my ser.cfg file?. I'm also attaching my ser.cfg.
>
> No session time attribute exists because it's not calculated by SER. SER
> will just give you one Start and one Stop record per session and you will
> have to calculate the session time yourself.
>
>
>
>
> > Code: Accounting-Request
> > Attributes:
> > Acct-Status-Type = Start
> > Service-Type = Sip-Session
> > Sip-Response-Code = 200
> > Sip-Method = 1
> > User-Name = "5552408196(a)xx.xx.xx.246"
> > Calling-Station-Id = "sip:5552408196@xx.xx.xx.246"
> > Called-Station-Id = "sip:005622408196@xx.xx.xx.246"
> > Sip-Translated-Req-ID = "sip:005622408196@xx.xx.xx.50:5060"
> > Acct-Session-Id =
> > "95e15442-5f12-fae4-805e-0002a400f1e9(a)xx.xx.xx.242"
> > Sip-To-Tag = "4a419534a4"
> > Sip-From-Tag = "9542fa5ea4"
> > Sip-Cseq = "33"
> > NAS-IP-Address = 127.0.0.1
> > NAS-Port = 5060
> > Acct-Delay-Time = 0
> >
> > Code: Accounting-Request
> > Attributes:
> > Acct-Status-Type = Stop
> > Service-Type = Sip-Session
> > Sip-Response-Code = 200
> > Sip-Method = 8
> > User-Name = "5552408196(a)xx.xx.xx.246"
> > Calling-Station-Id = "sip:5552408196@xx.xx.xx..246"
> > Called-Station-Id = "sip:005622408196@xx.xx.xx.xx.246"
> > Sip-Translated-Req-ID = "sip:005622408196@xx.xx.xx.50"
> > Acct-Session-Id =
> > "95e15442-5f12-fae4-805e-0002a400f1e9(a)xx.xx.xx.xx.242"
> > Sip-To-Tag = "4a419534a4"
> > Sip-From-Tag = "9542fa5ea4"
> > Sip-Cseq = "34"
> > NAS-IP-Address = 127.0.0.1
> > NAS-Port = 5060
> > Acct-Delay-Time = 0
> >
>
> Saludos
> JesusR.
>
> -------------------------------
> Jesus Rodriguez
> VozTelecom Sistemas, S.L.
> jesusr(a)voztele.com
> http://www.voztele.com
> Tel. 902360305
> -------------------------------
Hi list,
we operate a commercial PSTN-replacement service.
For my setup we need to restrict the contact-information that the user
register with.
Only the assigned E.164 number in "Contact" shall be allowed with a
specific "Digest username" in REGISTER
Our contact and digest_username are very similar and only differ by a
prefixed '0' in contact.
E.g.
Contact: <sip:0123456@cpe.network:5060;transport=UDP>
Authorization: Digest username="123456", realm="network......
Is it possible to compare these two and only allow registration if the
comparison returns true?
Thanks for your help and best regards,
Gerhard
__________________________________________________________________________________
Dieses Mail wurde vom Infotech SecureMail Service ueberprueft und fuer sicher befunden.
Fuer weitere Informationen zu Infotech SecureMail Service waehlen Sie bitte: www.infotech.at/securemail/
This email has been scanned by Infotech SecureMail Service and it has been classified as secure.
For more information on Infotech SecureMail direct your web browser to: www.infotech.at/securemail/
Hi list,
is it possible to use ser/sems as an announcement server with early
media?
I.e. the call will NOT be connected with the other SIP-UA with OK/ACK,
but after sending 183 the announcement is played in the early-media
channel?
This would facilitate proper accounting, where announcements should not
be billed.
Any help is appreciated.
Thank you very much,
Gerhard
__________________________________________________________________________________
Dieses Mail wurde vom Infotech SecureMail Service ueberprueft und fuer sicher befunden.
Fuer weitere Informationen zu Infotech SecureMail Service waehlen Sie bitte: www.infotech.at/securemail/
This email has been scanned by Infotech SecureMail Service and it has been classified as secure.
For more information on Infotech SecureMail direct your web browser to: www.infotech.at/securemail/
Hi list,
We have a setup with 2 redundant stateful SER SIP-Servers with
accounting.
For calls to the PSTN we have 2 ISDN-PRI gateways connected to
different ISDN-PRI lines.
We need to implement a dynamic failover mechanism and load balancing.
a) Incoming calls: No problem, the PSTN switch takes care of that
b) Outgoing calls:
Both GWs are registered at both SERs; calls are usually relayed with
"t_relay_to_udp(x.x.x.x, "5060");"
But how can I implement a quick failover including load-distribution
between those gatways?
I.e. if I receive "busy here" or no response after a short period
after the "invite", the call should be redirected to the other GW.
Thanks in advance for your help!
Best regards,
Gerhard
__________________________________________________________________________________
Dieses Mail wurde vom Infotech SecureMail Service ueberprueft und fuer sicher befunden.
Fuer weitere Informationen zu Infotech SecureMail Service waehlen Sie bitte: www.infotech.at/securemail/
This email has been scanned by Infotech SecureMail Service and it has been classified as secure.
For more information on Infotech SecureMail direct your web browser to: www.infotech.at/securemail/
Hi.
I succesfully install the auth and acc modules for SER. I'm trying
to keep track for the duration of a "local" (or between two registered user
agents in SER) call. I understand that for a PSTN or Gateway call the
Accounting record is placed by the terminating gateway, but i'm interesting,
as i mentioned, in the local calls. I copy two accounting records from my
RADIUS server for a local call, as you can see i don't have any parameter
indicating the duration of the call or even timstamps. Do i have to set
anything else in my ser.cfg file?. I'm also attaching my ser.cfg.
Code: Accounting-Request
Attributes:
Acct-Status-Type = Start
Service-Type = Sip-Session
Sip-Response-Code = 200
Sip-Method = 1
User-Name = "5552408196(a)xx.xx.xx.246"
Calling-Station-Id = "sip:5552408196@xx.xx.xx.246"
Called-Station-Id = "sip:005622408196@xx.xx.xx.246"
Sip-Translated-Req-ID = "sip:005622408196@xx.xx.xx.50:5060"
Acct-Session-Id =
"95e15442-5f12-fae4-805e-0002a400f1e9(a)xx.xx.xx.242"
Sip-To-Tag = "4a419534a4"
Sip-From-Tag = "9542fa5ea4"
Sip-Cseq = "33"
NAS-IP-Address = 127.0.0.1
NAS-Port = 5060
Acct-Delay-Time = 0
Code: Accounting-Request
Attributes:
Acct-Status-Type = Stop
Service-Type = Sip-Session
Sip-Response-Code = 200
Sip-Method = 8
User-Name = "5552408196(a)xx.xx.xx.246"
Calling-Station-Id = "sip:5552408196@xx.xx.xx..246"
Called-Station-Id = "sip:005622408196@xx.xx.xx.xx.246"
Sip-Translated-Req-ID = "sip:005622408196@xx.xx.xx.50"
Acct-Session-Id =
"95e15442-5f12-fae4-805e-0002a400f1e9(a)xx.xx.xx.xx.242"
Sip-To-Tag = "4a419534a4"
Sip-From-Tag = "9542fa5ea4"
Sip-Cseq = "34"
NAS-IP-Address = 127.0.0.1
NAS-Port = 5060
Acct-Delay-Time = 0
#
# $Id: ser.cfg,v 1.21.2.2 2003/10/13 22:53:06 jiri Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=0 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=yes # (cmd line: -E)
#Uncomment these lines to enter debugging mode
#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 ----------------------------------
# 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/textops.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/auth_radius.so"
loadmodule "/usr/local/lib/ser/modules/group_radius.so"
loadmodule "/usr/local/lib/ser/modules/acc.so"
# ----------------- setting module-specific parameters ---------------
# ----------------- setting module-specific parameters ---------------
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
modparam("acc","log_level",1)
modparam("auth_radius","radius_config","/usr/local/etc/radiusclient/radiuscl
ient.conf")
modparam("auth_radius","service_type",15)
modparam("acc","radius_config","/usr/local/etc/radiusclient/radiusclient.con
f")
modparam("acc", "service_type", 15)
modparam("acc", "radius_flag", 1)
modparam("acc", "radius_missed_flag", 3)
modparam("acc", "failed_transactions", 1)
modparam("acc", "report_ack", 0)
#group radius
modparam("group_radius","radius_config","/usr/local/etc/radiusclient/radiusc
lient.conf")
modparam("group_radius", "use_domain", 1)
# ------------------------- 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 (len_gt( 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 (!method=="REGISTER") record_route();
if (method=="BYE") setflag(1);
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
break;
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
route(1);
break;
};
# 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=="REGISTER") {
# Challenge/Response
if ( !radius_www_authorize("")) {
www_challenge("", "1");
break;
};
# Si es un Request Autenticado, Update Contact
Database ahora (Ricardo Martinez)
if (!save("location")) {
sl_reply_error();
};
break;
};
};
#Proceso el trafico local hacia la PSTN (Ricardo Martinez)
#Busco el Username Canonico? (Ricardo Martinez)
lookup("aliases");
#Chequeamos los destinos 00562 es enviado al gateway
if (uri=~"^sip:00562[0-9]{7}@.*") {
route(3);
break;
};
#Llamadas SIP locales
#Off-line o usuarios que no existen (Ricardo Martinez)
if (!lookup("location")) {
route(4);
break;
};
#Flag para el modulo de acc para reportar "Missed Calls" al syslog
(Ricardo Martinez)
setflag(3);
#Do it ? (Ricardo Martinez)
append_hf("P-hint: USRLOC\r\n");
if (!t_relay()) {
sl_reply_error();
break;
};
} /* end of initial routing logic */
#--------- Route 1 que estaba de antes -------------------------------
route[1]
{
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
}
#------- Route 3 : Trafico de Internet hacia la PSTN -------------------
route[3] {
# Agregamos record route para todas las llamadas.
record_route();
#Autentificamos al usuario
#PRONTO
if (method=="INVITE") {
setflag(1);
# Aca en la eventualidad van los chequeos de Saldo y
llamadas LD, LDI, Local, etc
};
rewritehostport("XX.XX.XX.XX:5060");
append_hf("P-hint: GATEWAY\r\n");
if (!t_relay()) {
sl_reply_error();
break;
};
}
#------ Route 4 : Llamadas a usuarios Off-line ------------------------
route[4] {
if (!t_newtran()) {
sl_reply_error();
};
if (!t_reply("404", "Not Found")) {
sl_reply_error();
};
break;
}
Any ideas?
Thanks in advance.
Ricardo Martinez.-
Hi,
I send a Publish request to the SER server and it returns a 200 OK
without the SIP-ETag: header. Anyone knows why? Also a subsequent
SUBSCRIBE request comes back with a "400 Bad request" response. Does the
SER pa module support subscribe/notify sip extensions? Some
documentation seem to suggest subscribe/notify is supported only in
Jabber? Is this correct? I am a bit confused.
Thanks for the answers.
Ansari