Hola, ¿alguien tiene en producción un OpenSer con el módulo "pike" y puede dar
fe de que funciona bien?
Yo lo tengo en un entorno de pruebas con tráfico ínfimo y de vez en cuando se
caliente y rechaza requests (en absoluto abusivos).
Hace tiempo que no lo toco, pero recuerdo haber jugado bastante con los
parámetros sin conseguir que funcionase como se supone me interesaría.
Gracias.
--
Iñaki Baz Castillo
Hola, tengo una pequeña duda de concepto sobre la validez del módulo
dispatcher para mi propósito:
Básicamente se trata de dos carriers a los que se enviará tráfico en un
porcentaje (si es que se puede hacer) de:
- Carrier A: 70%
- Carrier B: 30%
El problema es que el Carrier A se cae con demasiada frecuencia y esto se
traduce en errores 5XX de todos los colores. Pero desgraciadamente en muchas
ocasiones estos errores 5XX no se producen inmediatamente sino tras un 183
que dura unos segundos, y luego ZAS, un 503.
¿Sirve el módulo 'dispatcher' para crear un nuevo branch
(tipo 'failure_route') a Carrier B en caso de que Carrier A haya devuelto un
18X durante varios segundos y luego un 503?
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es
Hoola!
Estoy hecho un lío sobre como gestionar los ACK:
* En situaciones in-dialog hago lo siguiente:
if (method=="ACK") {
xlog("L_INFO","$C(px) -- ACK -- $C(xx)\n");
if (t_check_trans()) {
## non loose-route, but stateful ACK;
must be an ACK after a 487 or e.g. 404 from upstream server
route(1);
exit;
}
else {
## ACK without matching transaction
... ignore and discard.
exit;
}
}
* Pero cuando llamo a un usuario inexistente me llegan un montón de
ACKs fuera del diálogo :-O
U +3.918025 10.245.145.27:5060 -> 10.10.0.117:2054
SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP 10.10.0.117:2054;branch=z9hG4bK-4q9dht0vt0qh;rport=2054
From: "1001" <sip:1001@10.245.145.27>;tag=7jzn8lgj9h
To: <sip:1123@10.245.145.27>;tag=as186a86b9
Call-ID: 3c26a67168fb-pmn33w87knd0@snom320-00041327D5A5
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Length: 0
X-Asterisk-HangupCause: No route to destination
X-Asterisk-HangupCauseCode: 3
#
U +0.077320 10.10.0.117:2054 -> 10.245.145.27:5060
ACK sip:1123@10.245.145.27 SIP/2.0
Via: SIP/2.0/UDP 10.10.0.117:2054;branch=z9hG4bK-4q9dht0vt0qh;rport
From: "1001" <sip:1001@10.245.145.27>;tag=7jzn8lgj9h
To: <sip:1123@10.245.145.27>;tag=as186a86b9
Call-ID: 3c26a67168fb-pmn33w87knd0@snom320-00041327D5A5
CSeq: 2 ACK
Max-Forwards: 70
Contact: <sip:1001@10.10.0.117:2054;line=xqknsd62>;flow-id=1
Content-Length: 0
Esto unas 8 veces!!
Qué se supone que debería hacer con esto?
Gracias por cualquier pista...
--
Saúl -- "Nunca subestimes el ancho de banda de un camión lleno de disketes."
----------------------------------------------------------------
http://www.saghul.net/
Hola, noto que mi carrier (usa una Nortel CS2K) corta las llamadas "al de un
tiempo" y me estoy volviendo loco!!!
He notado un patrón extraño:
- La Nortel me manda de repente un INFO !!!!!!!!!!
- Mi Twinkle o Asterisk responde con un "415 Unsupported Media Type".
- Creo que en ese momento (o al de un ratito) Nortel deja de enviarme audio
(aunque yo sigo enviándole sin problema ICMP).
- Al de un rato (27 segundos más o menos) Nortel me envía un BYE.
¿¿¿¿Alguien sabe si es normal enviar este ****INFO**** para monitorizar una
llamada o para algo????
El INFO no lleva Content-Type siquiera !!!!
Y encima body 0:
----------------------------------------------
+++ 28-5-2008 13:22:13 from NORTEL
INFO sip:ibc@192.168.203.2:1030;transport=udp SIP/2.0
Call-ID: wsxwakemjwhioeb
CSeq: 1 INFO
User-agent: CS2000_NGSS/9.0
Max-Forwards: 69
Supported: 100rel
Content-Length: 0
---
+++ 28-5-2008 13:22:13 from Twinkle
SIP/2.0 415 Unsupported Media Type
Call-ID: wsxwakemjwhioeb
CSeq: 1 INFO
Accept: application/dtmf-relay^M
Server: Twinkle/1.2alpha2^M
Content-Length: 0^M
--
+++ 28-5-2008 13:22:40 from NORTEL
BYE sip:ibc@192.168.203.2:1030;transport=udp SIP/2.0
Call-ID: wsxwakemjwhioeb
CSeq: 2 BYE
User-agent: CS2000_NGSS/9.0
Max-Forwards: 69
Supported: 100rel
Allow: ACK,BYE,CANCEL,INVITE,OPTIONS,INFO,SUBSCRIBE,REFER,NOTIFY,PRACK,UPDATE
Content-Length: 0
-------------------------------------
¿Alguien me puede confirmar si esto tiene sentido (al menos en los mundos de
Yupi de quien diseñó el SIP stack de la Nortel?
¿Tal vez la solución sea responder "200 OK" en el proxy a cualquier INFO
in-dialog que envíe la Nortel para que esté contenta?
Gracias.
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es
Hoola!
Viendo distintos documentos por ahí, veo que cada uno pone un poco a
su manera la detección del loose route.
De todos los que he visto, el que más me ha gustado ha sido el del
libro "Building Telephony Systems with OpenSER", en el que se propone
lo siguiente:
if (has_totag()) {
if (loose_route()) {
if (message == "INVITE")
route(x);
if (message == "REFER")
route(y);
....
}
else {
sl_rend_reply(403, "Fuck you!")
}
La pregunta es: se supone que esta (primero mirar el totag y luego
loose_route) es la manera "más correcta" de comprobar que lo que viene
esta in-dialog?
Y ya que estoy, otra preguntilla :) Qué mensajes in-dialog han de ir
autenticados? (INVITE y REFER fijo, pero los demás?). Puntero a RFC
vale como respuesta :)
Thnx!!
--
Saúl -- "Nunca subestimes el ancho de banda de un camión lleno de disketes."
----------------------------------------------------------------
http://www.saghul.net/
Egunon a tod@s!
Ando tratando de migrar mi openser.cfg al super M4 style, que mirando
un poco por recomendación de Iñaki :) tiene muy buena pinta. Cuando ya
lo tenía todo listo, tengo un par de problemillas con m4, pero
buscando en google solo encuentro kosas de sendmail :-/
El primer tema son los comentarios y líneas nuevas, si en el m4 pongo algo así:
# Hooooola
define(`KK', `lolailooooooooooo')
# dededede
define(`TIRORIII', `TIRORAAA')
Al crear el nuevo fichero me mete las líneas de comentario y los
saltos de línea tb! Mirando el man y demás, probé con dnl pero o no lo
hago bien o pasa de mi...
El 2º temilla es que el fichero generado tiene al final de cada línea
el jodido ^M, y aunque quitarlo me lleve 2 segundos no quiero que
salga...
En fín, sorry por el offtopic... :)
PD: Back in black!
--
Saúl -- "Nunca subestimes el ancho de banda de un camión lleno de disketes."
----------------------------------------------------------------
http://www.saghul.net/
Hola, si saco una llamada con destino internacional por un carrier SIP, ¿es
necesario que el campo From del INVITE o el PAI/RPID lleven el prefijo para
que el destino sepa que le llama un número de España?
¿O hay algún "elemento" intermedio que se encargará de hacer la ñapa tal vez
durante el tránsito SS7?
¿Y si no hay SS7? (hoy en día nunca sabes por dónde va una llamada...).
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es
Hola a todos,
Llevo ya unos meses trabajando con OpenSER, mirando documentacion y
haciendo una pequeña instalacion de openser en Debian. La verdad es
que todavia estoy muy verde pues esta es mi primera vez tanto con SIP
como con VoIP. En cuanto a Openser, he conseguido lanzarlo y realizar
llamadas de voz en una red local.
Ahora me han comentado que estaria bien que lo integrara con el
servidor de aplicaciones WeSIP. Pues me he puesto a ello: me baje la
version de wesip 1.0.4 (he visto que acaba de salir la 1.0.5, pero no
la he cambiado todavia), y configure tanto el openser.cfg y el
server.xml de wesip como venia en la página. Por cierto, tengo la
version 1.3 de Openser y he cargado el modulo seas. No se si con eso
seria suficiente o habria que hacer alguna otra cosa, a diferencia de
openser he encontrado mucha menso inforcion y ayuda sobre wesip.
Una vez echo esto, lo fui a probar, ejecuntado el startup.sh que esta
dentro de /wesip/bin/, sin hacerle ningun cambio, y parece que el
servidor arranca pero me sale el siguiente mensaje:
Starting WESIP Application Server VozTelecom...
HttpConnector [main] - The [all:7080] has been created
Exception during startup processing
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(libgcj.so.70)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:156)
Caused by: java.lang.NoClassDefFoundError:
java.util.concurrent.ConcurrentHashMap
at
com.voztele.sipservlet.connector.SipConnector.start(SipConnector.java:202)
at org.apache.catalina.core.StandardService.start(StandardService.java:454)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2144)
at org.apache.catalina.startup.Catalina.start(Catalina.java:471)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:358)
at org.apache.catalina.startup.Catalina.process(Catalina.java:129)
at java.lang.reflect.Method.invoke(libgcj.so.70)
...1 more
Como ya os he dicho, estoy todavia muy verde y no entiendo muy bien
que me pasa. Si pudierais echarme un cable os lo agradeceria mucho,
siento el tocho y gracias por adelantado,
Egoitz
Hola, ¿se puede usar ngrep y que te meustre los \r y \n tal cuál en vez de
sustituirlos por un punto "." (por defecto)?
Así mismo me gustaría conservar la opción "-W byline" para que separe cada
línea.
Estoy rebuscando y no veo forma.
Gracias.
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es