Hola a todos y perdón si me salgo de lo puramente técnico.
El caso es que me han pedido que aporte algo de documentación sobre
instalaciones de openser para la venta de un proyecto. Yo no he realizado
ninguna instalación de openser y sólo puedo hablar de teoría pero necesito algo
más tangible.
¿Existe algo de alguna instalación real documentada, preferiblemente en españa
que pueda presentar? Algo con unas 10000 extensiones funcionando en la
actualidad?
gracias y un saludo
Hola, según el RFC3325 una forma de indicar que un UAC quiere realizar una
llamada de forma anónima es la de esconder el From y añadir dos cabeceras,
ejemplo:
From: "Anonymous" <sip:anonymous@anonymous.invalid>;tag=9802748
Privacy: id
P-Preferred-Identity: "Iñaki" <sip:ibc@aliax.net>
Se supone que el proxy responsable de este UAC le exigirá autenticación porque
ve que el dominio contenido en "P-Preferred-Identity" es local, por lo que
enviará el 407 con "realm=aliax.net".
Si la autenticación es satisfactoria y el próximo nodo no es trusted, el proxy
quitará la cabecera P-Preferred-Identity, encriptará de alguna forma
el "Contact" y otras cabeceras que pudieran delatar al autor de la llamada y
enviará el INVITE anónimo.
Bien, sé que Twinkle permite envío de llamadas anónimas mediante este
mecanismo. ¿Y otros teléfonos SIP comunes?
Lo pregunto porque si no es una técnica suficientemente extendida en los tfnos
SIP tendré que hacer alguna guarrada en el proxy en plan modificar el "From"
(poner "anonymous(a)anonymous.invalid") si el RURI tiene un prefijo tipo *11#
(o lo que sea).
Gracias por cualquier dosis de realismo ;)
--
Iñaki Baz Castillo
hola a todos... he instalado y actualizado ruby, pero cuando intento
intalar rubygems-1.0.1
pero cuando hago:
# ruby setup.rb
me sale el siguiente mensaje:
As of RubyGems 0.8.0, library stubs are no longer needed.
Searching $LOAD_PATH for stubs to optionally delete (may take a while)...
...done.
No library stubs found.
he seguido las intrucciones que hay en rubyonrailsorg y no se que hacer...
--
Ronmel Jiron Sandres
Hola, soy nuenvo en Openser. he instalado OpenSER siguiendo los pasos
encontrados en la web. He modificado el archivo openser.cfg de
diferentes maneras, lo hice con el generador de sipwise. De ninguna
manera me ha funcionado, o sea que cuando hago:
# openser start
El resultado es:
INFO:mi_fifo:mi_destroy:memory for the child's mi_fifo_pid was not
allocated -> nothing to destroy.
No se que esta pasando, ayuda por favor
--
Ronmel Jiron Sandres
Buenas,
Estoy jugando un poco con el presence. Configuré el modulo, etc. La
tabla "watchers" es "poblada", etc. por openser. Pero hay varias cosas que
no entiendo bien.
1.- ¿Relamente, para qué sirve el presence? He estado leyendo y
aparentemente sirve un poco como un a especie de "follow-me"... ejemplo:
Estoy en mi ofi, me pongo en "no disponible" y tengo hecho un forward a
otro softphone... ¿es ésto cierto? No lo entiendo muy bien.
2.- He leído de gente que configura 2 telf y cuando uno se pone en "away",
el otro "lo ve"... ¿Cómo lo ve?
3.- Cuando cambio mi status en un teléfono, no se actualiza el status en
ninguna tabla. Openser recibe el cambio de status:
en la tabla presentity aparece el record con lo siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:pp="urn:ietf:params:xml:ns:pidf:person"
xmlns:et="urn:ietf:params:xml:ns:pidf:rpid:rpid-tuple"
xmlns:ep="urn:ietf:params:xml:ns:pidf:rpid:rpid-person"
xmlns:es="urn:ietf:params:xml:ns:pidf:rpid:status:rpid-status"
xmlns:ci="urn:ietf:params:xml:ns:pidf:cipid"
entity="sip:8889990@sip99.yip.com">
<pp:person>
<status>
<ep:activities>
<ep:activity>busy</ep:activity>
</ep:activities>
</status>
</pp:person>
<note>Busy</note>
<tuple id="t1">
<contact priority="1">sip:8889990@sip99.yip.com</contact>
<status>
<basic>open</basic>
</status>
</tuple>
</presence>
Pero nunca se actualiza en watchers, active_watchers o alguna otra.
Muchas gracias..
David
On Jan 16, 2008 6:39 PM, Iñaki Baz Castillo <ibc(a)in.ilimit.es> wrote:
> On Wednesday 16 January 2008 18:18:08 David Villasmil wrote:
>
> > el comando:
> >
> > select balance, DATE_FORMAT(now(),'%a, %e %b %Y %H:%i:%s EST') from
> > clients where number = 'XXXXXX'
> > Está bien, Hace el query correcto... he agregado fecha y me da esto:
> >
> > Results: <null> - Wed, 16 Jan 2008 12:16:36 EST
>
>
> Esa no es la misma query que antes. En ésta pides dos campos en vez de
> uno, y
> no sé si tiene sentido pedir 2 campos y almacenarlos en un AVP (no estoy
> seguro).
> Haz la prueba con un sólo campo.
>
No, no es el mismo, sólo quiero ver si me da la información... pero tengo
dos campos y dos avp
avp_db_query("select balance, DATE_FORMAT(now(),'%a, %e %b %Y %H:%i:%s EST')
from dbname.clients where number = '$au';","$avp(i:10001);$avp(s:fecha)");
log
3(30519) select balance, DATE_FORMAT(now(),'%a, %e %b %Y %H:%i:%s EST')
from dbname.clients where number = '8114074';
3(30519)
MYSQL Query executed
Results: <null> - Wed, 16 Jan 2008 12:56:44 EST
si me da ese
en mysql ejecuto el mismo query:
mysql> select balance, DATE_FORMAT(now(),'%a, %e %b %Y %H:%i:%s EST') from
dbname.clients where number = '8114074';
+---------+------------------------------------------------+
| balance | DATE_FORMAT(now(),'%a, %e %b %Y %H:%i:%s EST') |
+---------+------------------------------------------------+
| 0.0100 | Wed, 16 Jan 2008 13:00:53 EST |
+---------+------------------------------------------------+
1 row in set (0.00 sec)
mysql>
A ver si alguien me puede ayudar con ésto, no encuentro solución. Tel UA
está cerrado y no lo puedo configurar. El user/pass/realm está bien en el
openser, aquí un trace
OPENSER:
3(29410) SIP Request:
3(29410) method: <REGISTER>
3(29410) uri: <sip:my.domain.com>
3(29410) version: <SIP/2.0>
3(29410) parse_headers: flags=2
3(29410) Found param type 235, <rport> = <n/a>; state=6
3(29410) Found param type 232, <branch> = <z9hG4bK30055>; state=16
3(29410) end of header reached, state=5
3(29410) parse_headers: Via found, flags=2
3(29410) parse_headers: this is the first via
3(29410) After parse_msg...
3(29410) preparing to run routing scripts...
3(29410) parse_headers: flags=100
3(29410) DEBUG:parse_to:end of header reached, state=10
3(29410) DBUG:parse_to: display={}, ruri={sip:123456@my.domain.com}
3(29410) DEBUG: get_hdr_field: <To> [29]; uri=[sip:123456@my.domain.com]
3(29410) DEBUG: to body [<sip:123456@my.domain.com>
]
3(29410) get_hdr_field: cseq <CSeq>: <1> <REGISTER>
3(29410) DEBUG:maxfwd:is_maxfwd_present: value = 70
3(29410) parse_headers: flags=200
3(29410) DEBUG: get_hdr_body : content_length=0
3(29410) found end of header
3(29410) find_first_route: No Route headers found
3(29410) loose_route: There is no Route HF
3(29410)
New Registration
3(29410) parse_headers: flags=4000
3(29410) pre_auth(): Credentials with given realm not found
3(29410) parse_headers: flags=14000
3(29410) xl_get_authattr: Error while parsing headers
3(29410)
Registration FAILED! CLIENT:
3(29410) build_auth_hf(): 'WWW-Authenticate: Digest realm="my.domain.com",
nonce="478bd983f7e6d37c2be680092b6ce99fa0fb5c56"
'
3(29410) parse_headers: flags=ffffffffffffffff
3(29410) check_via_address(1.2.3.4.5, 192.168.1.94, 0)
3(29410) DEBUG:destroy_avp_list: destroying list 0x77bf2e80
3(29410) receive_msg: cleaning up
Un trace tshark:
Session Initiation Protocol
Request-Line: REGISTER sip:sip99.yip.com SIP/2.0
Method: REGISTER
[Resent Packet: False]
Message Header
Via: SIP/2.0/UDP 192.168.1.94:3060;rport;branch=z9hG4bK8843
Transport: UDP
Sent-by Address: 192.168.1.94
Sent-by port: 3060
RPort: rport
Branch: z9hG4bK8843
From: <sip:123456@my.domain.com>;tag=23419
SIP from address: sip:123456@my.domain.com
SIP tag: 23419
To: <sip:123456@my.domain.com>
SIP to address: sip:123456@my.domain.com
Call-ID: 28466(a)192.168.1.94
CSeq: 1 REGISTER
Sequence Number: 1
Method: REGISTER
Contact: <sip:123456@192.168.1.94:3060>
Contact Binding: <sip:123456@192.168.1.94:3060>
URI: <sip:123456@192.168.1.94:3060>
SIP contact address: sip:123456@192.168.1.94:3060
Max-Forwards: 70
User-Agent: Koncept KU2000 3.1.4.781
Expires: 3600
Content-Length: 0
Me da siempre UNAUTHORIZED.
gracias.
Buenas noches a todos.
¿Alguien ha usado el núevo módulo siptrace de la serie 1.3.x?
Estoy intentando montar un guión que permita mediante un parámetro avp
cargado desde usr_preferences, hacer tracing de los mensajes de un
usuario en concreto.
El tema es que nada más activar la carga de siptrace .. empieza a
guardar todo en la base de datos y eso que he puesto el parámetro
trace_on a 0, que se supone que desactiva globalmente el tracing.
Estos son los parámetros que le paso al módulo:
loadmodule "siptrace.so"
modparam("siptrace", "db_url", "postgres://openser:XXX@localhost/openser")
modparam("siptrace", "table", "sip_trace")
modparam("siptrace", "trace_on", 0)
modparam("siptrace", "trace_flag", 31)
modparam("siptrace", "traced_user_avp", "$avp(s:caller_uuid)")
En el guión aún no he modificado nada, pero la intención, como ya he
dicho es que desde avpops, se cargen los avp desde la base de datos y
entre ellos tener un avp llamado sip_trace que permita activar o
desactivar el tracing de los mensajes de un usuario concreto.
¿Creéis que es un método óptimo para hacer el tracing de los mensajes?
¿se os ocurre algo mejor?
Saludos
--
Raúl Alexis Betancor Santana
Dimensión Virtual S.L.
Hola a todos ...
Para ponernos en situación, tengo 2 Openser 1.3.0 a los que los
usuarios atacan por DSN round-robin ó registros SRV, hasta aquí todo
ok.
Ahora ... tengo esto puesto en guión del openser para la
autenticación:
########################################################################
# Request route 'base-route-register'
# ########################################################################
route[11]
{
sl_send_reply("100", "Trying");
if(!www_authorize("", "subscriber"))
{
xlog("L_INFO", "Register authentication failed - M=$rm
RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
www_challenge("", "0");
exit;
}
if(!check_to())
{
xlog("L_INFO", "Spoofed To-URI detected - M=$rm
RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
sl_send_reply("403", "Spoofed To-URI Detected");
exit;
}
consume_credentials();
if(!search("^Contact:[ ]*\*") && nat_uac_test("19"))
{
fix_nated_register();
setbflag(6);
}
if(!save("location"))
{
xlog("L_ERR", "Saving contact failed - M=$rm RURI=$ru
F=$fu T=$tu IP=$si ID=$ci\n");
sl_reply_error();
exit;
}
if(!src_ip==sbc02)
{
t_replicate("sip:sbc02","5060");
};
xlog("L_INFO", "Registration successful - M=$rm RURI=$ru F=$fu
T=$tu IP=$si ID=$ci\n");
exit;
}
**********
¿Es correcto el formato de la llamada a t_replicate()?, lo pregunto
porque según la documentación ese "sip:" sobra .. pero sino lo pongo
el openser se queja en el log de que no puede parsear la uri.
Luego a parte está el tema de que si hago un openserctl ul show .. no
veo que se hayan replicado los registers en ambos servidores.
Agradecería cualquier indicación al respecto del uso de t_replicate()
puesto que la información disponible en la web de openser es harto
inútil sobre esta función.
Saludos
--
Raúl Alexis Betancor Santana
Dimensión Virtual S.L.