[Serusers] Serious Problems with SER - Not responding anythin g.
Ricardo Martinez
rmartinez at redvoiss.net
Thu Apr 21 17:04:27 CEST 2005
Thanks again.
I have heard about sipsak, but nothing about nagios. Is a tool that come
with sipsak? How it works?. Is a monitoring tool?. I found the sipsak
homepage but i don't see the relation with logging information from SER....
Can someone give more information about this tool?
Thanks!
Ricardo Martinez.-
> -----Mensaje original-----
> De: Jiri Kuthan [mailto:jiri at iptel.org]
> Enviado el: Miércoles, 20 de Abril de 2005 19:57
> Para: Ricardo Martinez; 'serusers at lists.iptel.org'
> Asunto: RE: [Serusers] Serious Problems with SER - Not responding
> anythin g.
>
>
> One more which came into my mind and has been reported to
> block is syslog.
>
>
> At 07:39 PM 4/20/2005, Ricardo Martinez wrote:
> >Thanks Jiri.
> >I remember have been checked the typical services when the
> problem was
> >happening.
> >My Radius (i'm not use mysql) for example was working
> without problems...
> >
> >How can i log information of SER failures?
>
> nagios/sipsak is an option.
>
> -jiri
>
>
> >Regards,
> >Ricardo.-
> >
> >
> >> -----Mensaje original-----
> >> De: Jiri Kuthan [mailto:jiri at iptel.org]
> >> Enviado el: Miércoles, 20 de Abril de 2005 13:12
> >> Para: Ricardo Martinez; 'serusers at lists.iptel.org'
> >> Asunto: Re: [Serusers] Serious Problems with SER - Not responding
> >> anything.
> >>
> >>
> >> a typical reason is SER is blocked waiting for some
> external service.
> >> It may be possibly unavailable mysql, DNS, or RADIUS...
> >>
> >> -jiri
> >>
> >> At 07:09 PM 4/20/2005, Ricardo Martinez wrote:
> >> >Hello list.
> >> > I'm experiencing problems with my SER. As i
> >> mentioned in a past
> >> >post
> >> (http://lists.iptel.org/pipermail/serusers/2005-April/018324.html),
> >> >from time to time (it is getting pretty often) my SER not
> >> answering any
> >> >request, when a REGISTER reach the server it is not
> >> challenged, this happens
> >> >too with the INVITE's messages. About two hours ago this
> >> happened again.
> >> >I asked in my last post how to LOG the internal errors or
> >> messages from SER
> >> >to see if i can get some idea about what's going on, but i
> >> have no answer
> >> >about it.
> >> >This is the infornmation i was able to capture when this was
> >> happening :
> >> >
> >> >the serctl moni command shows a lot of "failures".
> >> >
> >> >[cycle #: 11; if constant make sure server lives and fifo is on]
> >> >Server: Sip EXpress router (0.8.14-3 (i386/linux))
> >> >Now: Wed Apr 20 12:56:29 2005
> >> >Up Since: Thu Apr 14 21:32:18 2005
> >> >Up time: 487451 [sec]
> >> >
> >> >Transaction Statistics
> >> >Current: 6 (2612 waiting) Total: 38194 (0 local)
> >> >Replied localy: 80752
> >> >Completion status 6xx: 4643, 5xx: 768, 4xx: 10664, 3xx:
> >> 0,2xx: 22552
> >> >
> >> >Stateless Server Statistics
> >> >200: 5975004 202: 0 2xx: 0
> >> >300: 0 301: 0 302: 0 3xx: 0
> >> >400: 0 401: 205980 403: 0 404: 0 407: 22918 408: 0 483: 0
> >> 4xx: 19
> >> >500: 0 5xx: 0
> >> >6xx: 0
> >> >xxx: 0
> >> >failures: 24180
> >> >
> >> >UsrLoc Stats
> >> >Domain Registered Expired
> >> >'location' 219 4552
> >> >--------------------------------------------------------------
> >> >[cycle #: 5; if constant make sure server lives and fifo is on]
> >> >Server: Sip EXpress router (0.8.14-3 (i386/linux))
> >> >Now: Wed Apr 20 12:56:47 2005
> >> >Up Since: Thu Apr 14 21:32:18 2005
> >> >Up time: 487469 [sec]
> >> >
> >> >Transaction Statistics
> >> >Current: 4 (2619 waiting) Total: 38219 (0 local)
> >> >Replied localy: 80762
> >> >Completion status 6xx: 4643, 5xx: 770, 4xx: 10667, 3xx:
> >> 0,2xx: 22552
> >> >
> >> >Stateless Server Statistics
> >> >200: 5975030 202: 0 2xx: 0
> >> >300: 0 301: 0 302: 0 3xx: 0
> >> >400: 0 401: 205995 403: 0 404: 0 407: 22922 408: 0 483: 0
> >> 4xx: 19
> >> >500: 0 5xx: 0
> >> >6xx: 0
> >> >xxx: 0
> >> >failures: 24380
> >> >
> >> >UsrLoc Stats
> >> >Domain Registered Expired
> >> >'location' 220 4552
> >> >-----------------------------------------------------------------
> >> >[cycle #: 2; if constant make sure server lives and fifo is on]
> >> >Server: Sip EXpress router (0.8.14-3 (i386/linux))
> >> >Now: Wed Apr 20 12:56:52 2005
> >> >Up Since: Thu Apr 14 21:32:18 2005
> >> >Up time: 487474 [sec]
> >> >
> >> >Transaction Statistics
> >> >Current: 4 (2620 waiting) Total: 38224 (0 local)
> >> >Replied localy: 80762
> >> >Completion status 6xx: 4643, 5xx: 770, 4xx: 10667, 3xx:
> >> 0,2xx: 22552
> >> >
> >> >Stateless Server Statistics
> >> >200: 5975034 202: 0 2xx: 0
> >> >300: 0 301: 0 302: 0 3xx: 0
> >> >400: 0 401: 206000 403: 0 404: 0 407: 22923 408: 0 483: 0
> >> 4xx: 19
> >> >500: 0 5xx: 0
> >> >6xx: 0
> >> >xxx: 0
> >> >failures: 24445
> >> >
> >> >UsrLoc Stats
> >> >Domain Registered Expired
> >> >'location' 215 4557
> >> >
> >> >What is happening to cause the "failures" counter grows
> that much?.
> >> >
> >> >The free command shows this :
> >> >[root at root]# free
> >> > total used free shared
> >> buffers cached
> >> >Mem: 1030888 626464 404424 0
> >> 86692 369848
> >> >-/+ buffers/cache: 169924 860964
> >> >Swap: 2040244 4864 2035380
> >> >
> >> >The top command shows not much use of CPU. The proccess
> >> were running (the
> >> >SER and mediaproxy)
> >> >Despite of all this, the SER was not answering anything.
> >> >Could this be a bug? or maybe a problem with my ser.cfg
> file?. I'm
> >> >attaching my ser.cfg file too to see if someone can tell me
> >> if there is
> >> >something wrong about it.
> >> >I really hope that someone could help me, this is getting
> >> really complicated
> >> >every time it happens.
> >> >
> >> >Thanks
> >> >Ricardo Martinez.-
> >> >
> >> >**************************************************
> >> >SER.CFG
> >> >**************************************************
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++++++++++++++++++++++++++++++
> >> >
> >> >
> >> >
> >> >
> >> ># ----------- 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
> >> >
> >> >listen=ip.of.my.ser
> >> >
> >> >alias=sip.mydomain.com
> >> >alias=sip2.mydomain.net
> >> >alias=ip.of.my.ser
> >> >
> >> >
> >> >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/textops.so"
> >> >loadmodule "/usr/local//lib/ser/modules/exec.so"
> >> >
> >> ># ++++++++++ Para trabajar con NAT
> >> >
> >> >loadmodule "/usr/local//lib/ser/modules/mediaproxy.so"
> >> >loadmodule "/usr/local//lib/ser/modules/domain.so"
> >> >loadmodule "/usr/local//lib/ser/modules/dbtext.so"
> >> >loadmodule "/usr/local//lib/ser/modules/nathelper.so"
> >> >
> >> ># Uncomment this if you want digest authentication
> >> ># mysql.so must be loaded !
> >> >loadmodule "/usr/local/lib/ser/modules/auth.so"
> >> >
> >> ># ++++++++++ Modulos de Accounting y Autorizacion via Radius
> >> >
> >> >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
> >> ---------------
> >> ># -- rr params --
> >> ># add value to ;lr param to make some broken UAs happy
> >> >modparam("rr", "enable_full_lr", 1)
> >> >
> >> ># +++++ module authorization
> >> >modparam("auth_radius","radius_config","/usr/local/etc/radius
> >> client/radiuscl
> >> >ient.conf")
> >> >modparam("auth_radius","service_type",15)
> >> >
> >> >
> >> ># +++++ module accounting
> >> >modparam("acc","radius_config","/usr/local/etc/radiusclient/r
> >> adiusclient.con
> >> >f")
> >> >modparam("acc","log_level",1)
> >> >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/radiu
> >> sclient/radiusc
> >> >lient.conf")
> >> >modparam("group_radius", "use_domain", 1)
> >> >
> >> >
> >> ># +++++ module mediaproxy
> >> >modparam("mediaproxy", "natping_interval", 60)
> >> >modparam("mediaproxy", "mediaproxy_socket",
> >> "/var/run/mediaproxy.sock")
> >> >#modparam("mediaproxy", "sip_asymmetrics",
> >> >"/usr/local/etc/ser/sip-asymmetrics-clients")
> >> >#modparam("mediaproxy", "rtp_asymmetrics",
> >> >"/usr/local/etc/ser/rtp-asymmetrics-clients")
> >> >modparam("registrar", "nat_flag", 5)
> >> >
> >> ># +++++ module domain
> >> >modparam("domain", "db_url", "/usr/local/etc/ser/domaintables")
> >> >modparam("domain", "domain_table", "domain")
> >> >modparam("domain", "domain_col", "domain")
> >> >
> >> ># +++++ module tm
> >> >modparam("tm", "fr_timer", 15)
> >> >modparam("tm", "fr_inv_timer", 22)
> >> >modparam("tm", "wt_timer", 5)
> >> >
> >> ># +++++ module registrar (Con estos parametro haces que el
> >> location lookup
> >> >priorize solo los mas recientes contacts)
> >> >modparam("registrar", "append_branches", 0)
> >> >modparam("registrar", "desc_time_order", 1)
> >> >
> >> >
> >> ># ------------------------- request routing logic
> >> -------------------
> >> >
> >> ># main routing logic
> >> >
> >> >route {
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> ++++++++++++++
> >> > # Llamada a Rutina Externa "translate" para
> cambio de numero
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> ++++++++++++++
> >> >
> >> > if (method=="INVITE" || method=="CANCEL") {
> >> > exec_dset("/usr/local/etc/ser/translate");
> >> > };
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> ++++++++++++++
> >> > # 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;
> >> > };
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> > # Marcamos todos los mensajes para que pasen por
> >> nuestro servidor
> >> > # a traves del record route.
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >
> >> > record_route();
> >> >
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> > # Permitimos el uso del campo Route en el ruteo
> de la llamada
> >> > #
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >
> >> > if (method=="BYE" || method=="CANCEL") {
> >> > log(1, "NAT: BYE o CANCEL recibido -->
> >> terminando la sesion
> >> >de media\n");
> >> > end_media_session();
> >> > setflag(1);
> >> > };
> >> >
> >> > if (loose_route()) {
> >> > t_relay();
> >> > break;
> >> > };
> >> >
> >> >
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >+
> >> > # Manejo de los mensajes NOTIFY para Keep Alive de NAT
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >+
> >> >
> >> > if ((method=="NOTIFY") && search("^Event: keep-alive")) {
> >> > sl_send_reply("200", "OK");
> >> > break;
> >> > };
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >+
> >> > # Marcamos las llamadas para accounting
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >+
> >> >
> >> > setflag(1);
> >> >
> >> >
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >+
> >> > # Test para clientes NATeados
> >> > #
> >> > # 1 : Chequea si el cliente tiene IP privada en el
> >> campo Contact.
> >> > # 2 : Chequea si el cliente se contacto con una IP
> >> distinta a la del
> >> >campo VIA.
> >> > # 3 : Chequea si el cliente tiene IP privada en el
> >> ultimo campo VIA.
> >> > #
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >+
> >> >
> >> >
> >> > if (client_nat_test("3")) {
> >> > log(1, "NAT: Requerimiento de IP privada -->
> >> fixed contact
> >> >(en rutina principal)\n");
> >> > setflag(5);
> >> > force_rport();
> >> >
> >> > if (method=="REGISTER") {
> >> > fix_nated_contact();
> >> > } else {
> >> > fix_contact();
> >> > };
> >> > append_hf("P-hint: fixed NAT contact for
> >> request\r\n");
> >> > };
> >> >
> >> >
> >> > if (uri==myself) {
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++
> >> > # Chequeo de REGISTRO para equipos del dominio 1
> >> > # Dominio Voiss : sip.mydomain.com
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++
> >> >
> >> > if (method=="REGISTER" &&
> >> uri=~"^sip:.*sip.mydomain.com") {
> >> > # Challenge/Response
> >> > if (
> >> !radius_www_authorize("sip.mydomain.com")) {
> >> >
> >> www_challenge("sip.mydomain.com", "1");
> >> > break;
> >> > };
> >> >
> >> > # Mandamos un mensaje de Log si es
> >> que un cliente
> >> >NATEADO se registro.
> >> > if (isflagset(5)) {
> >> > log(1, "NAT: Cliente
> >> NAT'eado registrado
> >> >(dentro del chequeo de REGISTER)\n");
> >> > };
> >> >
> >> > save("location");
> >> > break;
> >> > }; # Fin chequeo de Registro para Dominio :
> >> sip.mydomain.com
> >> >
> >> >
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++
> >> > # Chequeo de REGISTRO para equipos del dominio 2
> >> > # Dominio Mayoristas : sip2.mydomain.net
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++
> >> >
> >> > if (method=="REGISTER" &&
> >> uri=~"^sip:.*sip2.mydomain.net") {
> >> > # Challenge/Response
> >> > if (
> >> !radius_www_authorize("sip2.mydomain.net")) {
> >> >
> >> www_challenge("sip2.mydomain.net", "1");
> >> > break;
> >> > };
> >> >
> >> > # Mandamos un mensaje de Log si es
> >> que un cliente
> >> >NATEADO se registro.
> >> > if (isflagset(5)) {
> >> > log(1, "NAT: Cliente
> >> NAT'eado registrado
> >> >(dentro del chequeo de REGISTER)\n");
> >> > };
> >> >
> >> > save("location");
> >> > break;
> >> > }; # Fin chequeo de Registro para Dominio :
> >> >sip2.mydomain.net
> >> >
> >> >
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++
> >> > # CHEQUEO DEL INVITE PARA TODAS LAS LLAMADAS
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++
> >> >
> >> > if (method=="INVITE" && src_ip!=xx.xx.xx.xx) {
> >> > if ( !radius_proxy_authorize("")) {
> >> > proxy_challenge("", "1");
> >> > log (1, "LOG: Llamada no
> >> AUTORIZADA\n");
> >> > break;
> >> > };
> >> > };
> >> >
> >> >
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++++++++++
> >> > # Llamadas hacia dominio H.323
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++++++++++
> >> >
> >> > if ( (uri=~"^sip:717.*@.*") |
> >> (uri=~"^sip:707.*@.*") |
> >> >(uri=~"^sip:777.*@.*") | (uri=~"^sip:333.*@.*") | (uri=~"^sip
> >> >:0.*@.*") ){
> >> > log(1,"FORWARDING : Llamada hacia
> plataforma
> >> >H.323\n");
> >> > route(1);
> >> > break;
> >> > };
> >> >
> >> >
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++++++++
> >> > # Llamadas SIP locales
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++++++++
> >> >
> >> > if (!lookup("location")) { #Usuarios que
> no estan en
> >> >"location" database.
> >> > route(4);
> >> > break;
> >> > };
> >> >
> >> >
> >> > setflag(3);
> >> >
> >> >
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++++++++
> >> > # Manejo para llamadas NAT'das
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++++++++
> >> >
> >> > if (method=="INVITE") {
> >> > log(1, "ROUTING: Reply processing
> >> (online user)
> >> >enabled to handle NAT'd resonses\n");
> >> > t_on_reply("1");
> >> > if ( (isflagset(5)) &&
> >> (method=="INVITE" ||
> >> >method=="ACK") ) {
> >> > log(1, "NAT: Invite
> >> received -->
> >> >enabling media proxy (else del lookup 2do if)\n");
> >> > use_media_proxy();
> >> > append_hf("P-hint:
> >> request forced to
> >> >media proxy\r\n");
> >> > };
> >> > };
> >> >
> >> > # Do it ? (Ricardo Martinez)
> >> > };
> >> >
> >> > append_hf("P-hint: USRLOC\r\n");
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >+++++
> >> > # Efectuamos la llamada
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >+++++
> >> >
> >> > if (!t_relay()) {
> >> > sl_reply_error();
> >> > break;
> >> > };
> >> >
> >> >} /* end of initial routing logic */
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++++++++++++++++++
> >> ># COMIENZO DE LA SECCION DE RUTAS
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++++++++++++++++++
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >++++++++++++++++++
> >> ># Route 1 : Llamadas con destino plataforma
> >> >H.323#+++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >+++++++++++++++++++++++
> >> >route[1]
> >> >{
> >> > # send it out now; use stateful forwarding as it
> >> works reliably
> >> > # even for UDP2TCP
> >> >
> >> > # Esta NATEADO?
> >> > if (isflagset(5)) {
> >> > log(1, "NAT: At least one participant NAT'd
> >> --> enable reply
> >> >processing (hacia GW)\n");
> >> > t_on_reply("1");
> >> > if (method=="INVITE") {
> >> > log(1, "NAT: Invite received -->
> >> enabling proxied
> >> >media session (hacia GW)\n");
> >> > setflag(1);
> >> > use_media_proxy();
> >> > };
> >> > };
> >> >
> >> > rewritehostport("mygw.mydomain.com: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 IT!")) {
> >> > sl_reply_error();
> >> > };
> >> > break;
> >> >}
> >> >
> >> >
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >+++++++++++++++++
> >> ># On Reply Route 1 : Equipos NATeados!!
> >> >#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> +++++++++++++++
> >> >+++++++++++++++++
> >> >
> >> >onreply_route[1] {
> >> > if ((isflagset(5) || client_nat_test("3")) &&
> >> >(status=~"(180)|(183)|2[0-9][0-9]")) {
> >> > if (!search("^Content-Length:\ 0")) {
> >> > use_media_proxy();
> >> > };
> >> > };
> >> >
> >> > if (client_nat_test("1")) {
> >> > fix_nated_contact();
> >> > };
> >> >
> >> >
> >> >}
> >> >
> >> >
> >> >
> >> >
> >> >Ricardo Martinez.-
> >> >
> >> >_______________________________________________
> >> >Serusers mailing list
> >> >serusers at lists.iptel.org
> >> >http://lists.iptel.org/mailman/listinfo/serusers
> >>
> >> --
> >> Jiri Kuthan http://iptel.org/~jiri/
> >>
> >
> >_______________________________________________
> >Serusers mailing list
> >serusers at lists.iptel.org
> >http://lists.iptel.org/mailman/listinfo/serusers
>
> --
> Jiri Kuthan http://iptel.org/~jiri/
>
More information about the sr-users
mailing list