Hola,
tengo problemas utilizando opensips y expresiones regulares. Puede que sea
problema de las expresiones regulares pero antes de usarlas he leido
manuales pero no me ha ayudado mucho, ya que no hay manera de que funcione.
No habrá que habilitar algún modulo en opensips para que trabaje con ellas?
Lo que quiero hacer es que la uri de fuente coincida con cualquier valor que
empiece por sip:1 seguido por varios dígitos del 0 al 9 y que termine con
@192.168.9.52. Para ello he probado varias cosas:
if (from_uri=="sip:1[0-9]*@192.168.9.52")
if (from_uri=="^sip:1[0-9]*@192.168.9.52$")
if (from_uri=="^sip:1[0-9]*@192\.168\.9\.52")
Y algunas otras pero ninguna funciona.
Gracias
--
View this message in context: http://www.nabble.com/Expresiones-regulares-tp23431068p23431068.html
Sent from the OpenSER Users - ES mailing list archive at Nabble.com.
Hola,
quisiera saber si es posible leer con openser cualquier base de datos o
únicamente se pueden leer las propias que crea openser.
Además me gustaría saber si para leerlas tengo que usar avp_db_query o hay
alguna otra forma.
Gracias.
--
View this message in context: http://www.nabble.com/Lectura-de-base-de-datos-con-openser-tp23385993p23385…
Sent from the OpenSER Users - ES mailing list archive at Nabble.com.
Hola, mi nombre es Richard, estoy teniendo un problema con OpenserAdmin, he
intendado comunicarme con Mike, el creador de OpenserAdmin, pero hasta ahora
no se ha puesto en contacto. Quisiera consultar sobre la instalación y un
error que me impide seguir adelante.
Problema detallado:
//////////////////////////////
//////////////////// /////
#> / usr/src/openseradmin-0.3/script #. / server
. / .. / config / boot.rb: 38: undefined method `require_gem 'for main:
Object (NoMethodError)
from. / server: 2: in `require '
from. / server: 2
////////////////////////////////////////////////// /////
It is : #> /usr/src/openseradmin-0.3/script# vim server
////////////////////////////////////////////////// /////
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/boot'
require 'commands/server'
////////////////////////////////////////////////// /////
La situación es la siguiente, ya he instalado "gem", que son paquetes para
Ruby, He intentado cambiar la ruta del directorio, pero aun así sigue sin
darme la posibilidad de instalarlo.
Tengo Kamailio andando perfectamente, pero me está costando éste punto,
gracias por su ayuda.
Saludos!
--
Ricardo F. Castillo
Cel: 0261-155613890
USA: +1.786.279.4223
Skype: pke.castillo
MSN: pkecastillo(a)hotmail.com
Hola, mi nombre es Richard, estoy teniendo un problema con OpenserAdmin, he intendado comunicarme con Mike, el creador de OpenserAdmin, pero hasta ahora no se ha puesto en contacto. Quisiera consultar sobre la instalación y un error que me impide seguir adelante.
Problema detallado:
//////////////////////////////
//////////////////// /////
#> / usr/src/openseradmin-0.3/script #. / server
. / .. / config / boot.rb: 38: undefined method `require_gem 'for main: Object (NoMethodError)
from. / server: 2: in `require '
from. / server: 2
////////////////////////////////////////////////// /////
It is : #> /usr/src/openseradmin-0.3/script# vim server
////////////////////////////////////////////////// /////
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/boot'
require 'commands/server'
////////////////////////////////////////////////// /////
La situación es la siguiente, ya he instalado "gem", que son paquetes para Ruby, He intentado cambiar la ruta del directorio, pero aun así sigue sin darme la posibilidad de instalarlo.
Tengo Kamailio andando perfectamente, pero me está costando éste punto, gracias por su ayuda.
Saludos!
Ricardo Castillo
IPPBX
MSN: pkecastillo(a)hotmail.com
Gmail: pkecastillo(a)gmail.com
Skype: pke.castillo
Cel:+54 0261-155613890
____________________________________________________________________________________
¡Viví la mejor experiencia en la web!
Descargá gratis el nuevo Internet Explorer 8
http://downloads.yahoo.com/ieak8/?l=ar
Si alguno de vosotros tiene interés en formar parte en el desarrollo
del proyecto sip-router, en [1] os proponemos varias opciones. Si
estáis interesados o tenéis ideas que no aparezcan en la to-do list,
contactad conmigo o con Jan y las incluiremos.
Lo que intentamos con esto es ofrecer facilidades (y guía) para
gente/empresas que no estén involucradas en el proyecto y deseen
estarlo. Puede considerarse también como fuente de inspiración para
proyectos de fin de carrera o tesis de master ;-)
[1] http://sip-router.org/wiki/tbd#available_topics
Saludos,
--
Victor Pascual Ávila
Hola, con motivo de la puesta en escena de Sip-Router (merge entre SER y
Kamailio), se ha convenido que esta lista users-es(a)lists.kamailio.org pasará
(posiblemente mañana) a llamarse sr-users-es(a)sip-router.org.
Tengo entendido que los usuarios serán mapeados de una lista a otra.
Así que en cuando confirmemos el cambio (tal vez mañana) se os pedirá que
cambiés la dirección de envío de la lista. Entiendo que no hará falta re-
subscribirse en la nueva lista, pero ya lo comentamos cuando tercie.
Saludos.
--
Iñaki Baz Castillo <ibc(a)aliax.net>
Hola !!
Creo que ya somos 25 XDDD
saluditos !!!
--
-
-------------------------------------
Germán Aracil Boned
Director de Sistemas
Zoon Suite S.L.
www.zoonsuite.com
963146030 - General
963146031 - Asistencia de incidencias
963146032 - FAX
-------------------------------------
-
Buenas a tod@s.
Resulta que ayer decidí migrar de kamailio 1.4.2 a kamailio 1.5
(espero probar la interfaz web en un momento). Después de hacer los
ajustes necesarios (basicamente solo tuve que cambiar algun
loadmodule) me encuentro que el kamailio no se inicia.
Da el siguiente error en el modulo radius:
Mar 27 09:00:52 admundsen /usr/local/kamailio/sbin/kamailio[10526]:
ERROR:auth_radius:mod_init: auth_radius: can't get code for the
Cisco-AVPair attribute
Mar 27 09:00:52 admundsen /usr/local/kamailio/sbin/kamailio[10526]:
ERROR:core:init_mod: failed to initialize module auth_radius
Mar 27 09:00:52 admundsen /usr/local/kamailio/sbin/kamailio[10526]:
ERROR:core:main: error while initializing modules
Básicamente me dice que no puede coger los codigos para el atributo
"Cisco-AVPair", así que googleo un poco y basicamente lo unico que
encuentro es que he de cambiar el source. No es que me moleste, pero
lo tendria que hacer para cada versión.
Para solucionarlo, lo que he hecho es coger el diccionario
dictionary.cisco que esta en el freeradius y copiarlo en equipo donde
esta el kamailio.
Posteriormente he hecho un include en /etc/radiusclient-ng/dictionary
para añadirselo al cliente radius:
$INCLUDE /etc/radiusclient-ng/dictionary.cisco
Así me ha funcionado, y ahora ya inicia el kamailio.
No sé si podria decirse que es un bug, no lo he reportado (mi ingles es pésimo)
Voy a probar la interfaz web.
Un saludo.
Hola,
tengo montado el siguiente escenario:
pjsua1 ----- openser1 ----- asterisk ---- openser2 ----- pjsua2
En pjsua1 tengo una cuenta registrada en opensip1: juan(a)192.168.1.54
En pjsua2 tengo una cuenta registrada en opensip2: pepe(a)192.168.2.56
Entre cada openser y asterisk tengo creada una troncal SIP: troncal1 para
openser1 y troncal2 para openser2.
Y los ficheros de configuración de asterisk los tengo así:
sip.conf
[general]
#Registro ante openser
register=>troncal1:troncal1@192.168.1.54/troncal1
register=>troncal2:troncal2@192.168.2.56/troncal2
#Extensión que funciona como troncal SIP
[troncal1]
type=friend
secret=troncal1
username=troncal1
password=troncal1
fromuser=troncal1
fromdomain=192.168.1.54
host=192.168.1.54
context=from-openser
insecure=invite
[troncal2]
type=friend
secret=troncal2
username=troncal2
password=troncal2
fromuser=troncal2
fromdomain=192.168.2.56
host=192.168.2.56
context=from-openser
insecure=invite
#Usuarios registrados en openser
[pepe]
username=pepe
host=192.168.2.56
qualify=no
context=from-openser
[juan]
username=juan
host=192.168.1.54
qualify=no
context=from-openser
extensions.conf
[from-openser]
exten=>troncal1,1,Dial(SIP/troncal1)
exten=>troncal2,1,Dial(SIP/troncal2)
exten=>pepe,1,Dial(SIP/pepe(a)192.168.2.56,30,Ttm)
exten=>pepe,2,Hangup
exten=>juan,1,Dial(SIP/juan(a)192.168.1.54,30,Ttm)
exten=>juan,2,Hangup
El problema que tengo es que las llamadas o funcionan de pjsua1 a pjsua2 o
de pjsua2 a pjsua1, y el sentido en el que funcionan depende de que openser
arranco primero. Si es el openser2 van de pjsua2 a pjsua1 y si es el
openser1 es de pjsua1 a pjsua2. Yo quiero que las llamadas funcionen en los
dos sentidos sin problemas.
Viendo el fichero de log de asterisk en ambos sentidos y comparándolo veo
las siguientes diferencias:
Llamada OK:
logger.c: No user 'pepe' in SIP users list
logger.c: Found peer for 'troncal2' from '192.168.2.56:5060'
logger.c: Looking for juan in from_openser (domain 192.168.1.54)
Llamada fallida:
logger.c: No user 'juan' in SIP users list
logger.c: No matching peer for 'juan' from '192.168.1.54:1053'
logger.c: Looking for pepe in default (domain 192.168.2.56)
De lo que deduzco que no detecta bien la troncal1, aunque al hacer sip show
registry en asterisk aparece correctamente registrada, y que como busca al
usuario 'pepe' en el contexto default y este no aparece, por eso devuelve el
mensaje '404 Not Found'.
He hecho el siguiente cambio para ver si funcionaba:
Añadir en extensions.conf
[default]
include => from_openser
Entonces la llamada ya funciona en los dos sentidos porque en default si que
aparece el usuario buscado. Sin embargo esta solución no me parece la
adecuada, y lo que interesa es que detecte correctamente las dos troncales
para que funcione sin problemas en los dos sentidos, y a los usuarios los
busque en el contexto adecuado y no en default. El problema es que no sé
como hacerlo, si alguien me puede ayudar se lo agradezco de antemano.
--
View this message in context: http://www.nabble.com/Llamadas-de-openser-a-asterisk-solo-funcionan-en-un-s…
Sent from the OpenSER Users - ES mailing list archive at Nabble.com.
Hola, soy novata usando openser, y me cuesta mucho configurarlo.
Lo que trato de hacer es: consultar un fichero de texto para saber cúal es
el estado de la red, y en función de lo que aparezca en ese fichero, enviar
un mensaje de error para que no se establezca la comunicación, pero tengo
problemas.
Para usar ficheros de texto necesito el módulo db_text y para consultarlo he
usado el módulo avpops, pero no se utilizarlo y me da problemas.
El fichero que quiero leer es muy simple:
estado(int)
1
Y mi fichero de configuración es:
#
# $Id: opensips.cfg 4423 2008-06-27 10:25:01Z henningw $
#
# OpenSIPS basic configuration script
# by Anca Vamanu <anca(a)voice-system.ro>
#
# Please refer to the Core CookBook at
http://www.opensips.org/dokuwiki/doku.php
# for a explanation of possible statements, functions and parameters.
#
####### Global Parameters #########
debug=3
log_stderror=no
log_facility=LOG_LOCAL0
fork=yes
children=4
/* uncomment the following lines to enable debugging */
#debug=6
#fork=no
#log_stderror=yes
/* uncomment the next line to disable TCP (default on) */
#disable_tcp=yes
/* uncomment the next line to enable the auto temporary blacklisting of
not available destinations (default disabled) */
#disable_dns_blacklist=no
/* uncomment the next line to enable IPv6 lookup after IPv4 dns
lookup failures (default disabled) */
#dns_try_ipv6=yes
/* uncomment the next line to disable the auto discovery of local aliases
based on revers DNS on IPs (default on) */
#auto_aliases=no
/* uncomment the following lines to enable TLS support (default off) */
#disable_tls = no
#listen = tls:your_IP:5061
#tls_verify_server = 1
#tls_verify_client = 1
#tls_require_client_certificate = 0
#tls_method = TLSv1
#tls_certificate = "/usr/local/etc/opensips/tls/user/user-cert.pem"
#tls_private_key = "/usr/local/etc/opensips/tls/user/user-privkey.pem"
#tls_ca_list = "/usr/local/etc/opensips/tls/user/user-calist.pem"
port=5060
/* uncomment and configure the following line if you want opensips to
bind on a specific interface/port/proto (default bind on all available)
*/
#listen=udp:192.168.1.2:5060
####### Modules Section ########
#set module path
mpath="/usr/local/lib/opensips/modules/"
/* uncomment next line for MySQL DB support */
#loadmodule "db_mysql.so"
loadmodule "avpops.so"
loadmodule "db_text.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "mi_fifo.so"
loadmodule "uri_db.so"
loadmodule "uri.so"
loadmodule "xlog.so"
loadmodule "acc.so"
/* uncomment next lines for MySQL based authentication support
NOTE: a DB (like db_mysql) module must be also loaded */
#loadmodule "auth.so"
#loadmodule "auth_db.so"
/* uncomment next line for aliases support
NOTE: a DB (like db_mysql) module must be also loaded */
#loadmodule "alias_db.so"
/* uncomment next line for multi-domain support
NOTE: a DB (like db_mysql) module must be also loaded
NOTE: be sure and enable multi-domain support in all used modules
(see "multi-module params" section ) */
#loadmodule "domain.so"
/* uncomment the next two lines for presence server support
NOTE: a DB (like db_mysql) module must be also loaded */
#loadmodule "presence.so"
#loadmodule "presence_xml.so"
# ----------------- setting module-specific parameters ---------------
# ----- mi_fifo params -----
modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo")
# ----- rr params -----
# add value to ;lr param to cope with most of the UAs
modparam("rr", "enable_full_lr", 1)
# do not append from tag to the RR (no need for this script)
modparam("rr", "append_fromtag", 0)
# ----- rr params -----
modparam("registrar", "method_filtering", 1)
/* uncomment the next line to disable parallel forking via location */
# modparam("registrar", "append_branches", 0)
/* uncomment the next line not to allow more than 10 contacts per AOR */
#modparam("registrar", "max_contacts", 10)
# ----- uri_db params -----
/* by default we disable the DB support in the module as we do not need it
in this configuration */
modparam("uri_db", "use_uri_table", 0)
modparam("uri_db", "db_url", "")
# ----- acc params -----
/* what sepcial events should be accounted ? */
modparam("acc", "early_media", 1)
modparam("acc", "report_ack", 1)
modparam("acc", "report_cancels", 1)
/* by default ww do not adjust the direct of the sequential requests.
if you enable this parameter, be sure the enable "append_fromtag"
in "rr" module */
modparam("acc", "detect_direction", 0)
/* account triggers (flags) */
modparam("acc", "failed_transaction_flag", 3)
modparam("acc", "log_flag", 1)
modparam("acc", "log_missed_flag", 2)
/* uncomment the following lines to enable DB accounting also */
modparam("acc", "db_flag", 1)
modparam("acc", "db_missed_flag", 2)
# ----- usrloc params -----
modparam("usrloc", "db_mode", 0)
/* uncomment the following lines if you want to enable DB persistency
for location entries */
#modparam("usrloc", "db_mode", 2)
#modparam("usrloc", "db_url",
# "mysql://opensips:opensipsrw@localhost/opensips")
modparam("avpops", "db_url",
"db_text:///usr/local/share/opensips/dbtext/opensi$
modparam("avpops", "avp_table", "avptable")
modparam("db_text", "db_mode", 1)
# ----- auth_db params -----
/* uncomment the following lines if you want to enable the DB based
authentication */
#modparam("auth_db", "calculate_ha1", yes)
#modparam("auth_db", "password_column", "password")
#modparam("auth_db", "db_url",
# "mysql://opensips:opensipsrw@localhost/opensips")
#modparam("auth_db", "load_credentials", "")
# ----- alias_db params -----
/* uncomment the following lines if you want to enable the DB based
aliases */
#modparam("alias_db", "db_url",
# "mysql://opensips:opensipsrw@localhost/opensips")
# ----- domain params -----
/* uncomment the following lines to enable multi-domain detection
support */
#modparam("domain", "db_url",
# "mysql://opensips:opensipsrw@localhost/opensips")
#modparam("domain", "db_mode", 1) # Use caching
# ----- multi-module params -----
/* uncomment the following line if you want to enable multi-domain support
in the modules (dafault off) */
#modparam("alias_db|auth_db|usrloc|uri_db", "use_domain", 1)
# ----- presence params -----
/* uncomment the following lines if you want to enable presence */
#modparam("presence|presence_xml", "db_url",
# "mysql://opensips:opensipsrw@localhost/opensips")
#modparam("presence_xml", "force_active", 1)
#modparam("presence", "server_address", "sip:192.168.1.2:5060")
####### Routing Logic ########
# main request routing logic
route{
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
}
if (has_totag()) {
# sequential request withing a dialog should
# take the path determined by record-routing
if (loose_route()) {
if (is_method("BYE")) {
setflag(1); # do accounting ...
setflag(3); # ... even if the transaction fails
}
route(1);
} else {
/* uncomment the following lines if you want to enable presence */
##if (is_method("SUBSCRIBE") && $rd == "your.server.ip.address") {
## # in-dialog subscribe requests
## route(2);
## exit;
##}
if ( is_method("ACK") ) {
if ( t_check_trans() ) {
# non loose-route, but stateful ACK; must be an ACK after a 487 or e.g.
404 from upstream server
t_relay();
exit;
} else {
# ACK without matching transaction ... ignore and discard.\n");
exit;
}
}
sl_send_reply("404","Not here");
}
exit;
}
#initial requests
# CANCEL processing
if (is_method("CANCEL"))
{
if (t_check_trans())
t_relay();
exit;
}
t_check_trans();
# authenticate if from local subscriber (uncomment to enable auth)
##if (!(method=="REGISTER") && from_uri==myself)
##{
## if (!proxy_authorize("", "subscriber")) {
## proxy_challenge("", "0");
## exit;
## }
## if (!check_from()) {
## sl_send_reply("403","Forbidden auth ID");
## exit;
## }
##
## consume_credentials();
## # caller authenticated
##}
# record routing
if (!is_method("REGISTER|MESSAGE"))
record_route();
# account only INVITEs
if (is_method("INVITE")) {
setflag(1); # do accounting
}
if (!uri==myself)
/* replace with following line if multi-domain support is used */
##if (!is_uri_host_local())
{
append_hf("P-hint: outbound\r\n");
# if you have some interdomain connections via TLS
##if($rd=="tls_domain1.net") {
## t_relay("tls:domain1.net");
## exit;
##} else if($rd=="tls_domain2.net") {
## t_relay("tls:domain2.net");
## exit;
##}
route(1);
}
# requests for my domain
/* uncomment this if you want to enable presence server
and comment the next 'if' block
NOTE: uncomment also the definition of route[2] from below */
##if( is_method("PUBLISH|SUBSCRIBE"))
## route(2);
if (is_method("PUBLISH"))
{
sl_send_reply("503", "Service Unavailable");
exit;
}
if (is_method("REGISTER"))
{
# authenticate the REGISTER requests (uncomment to enable auth)
##if (!www_authorize("", "subscriber"))
##{
## www_challenge("", "0");
## exit;
##}
##
##if (!check_to())
##{
## sl_send_reply("403","Forbidden auth ID");
## exit;
##}
if (!save("location"))
sl_reply_error();
exit;
}
if ($rU==NULL) {
# request with no Username in RURI
sl_send_reply("484","Address Incomplete");
exit;
}
# apply DB based aliases (uncomment to enable)
##alias_db_lookup("dbaliases");
if (!lookup("location")) {
switch ($retcode) {
case -1:
case -3:
t_newtran();
t_reply("404", "Not Found");
exit;
case -2:
sl_send_reply("405", "Method Not Allowed");
exit;
}
}
# when routing via usrloc, log the missed calls also
setflag(2);
route(1);
route(3);
}
route[1] {
# for INVITEs enable some additional helper routes
if (is_method("INVITE")) {
t_on_branch("2");
t_on_reply("2");
t_on_failure("1");
}
if (!t_relay()) {
sl_reply_error();
};
exit;
}
route[3]
{
avp_db_query("SELECT estado FROM ejemplo", "$avp(s:estado)");
if (!avp_check("$avp(s:estado)","re/(0|1)/g"))
{
sl_send_reply("404", "Not Found");
exit;
}
else if ($avp(s:estado)=="0")
{
sl_send_reply("404", "Not found");
exit;
}
}
branch_route[2] {
xlog("new branch at $ru\n");
}
onreply_route[2] {
xlog("incoming reply\n");
}
failure_route[1] {
if (t_was_cancelled()) {
exit;
}
}
Resalto en negrita lo que he modificado respecto al fichero original.
Y al arrancar openser obtengo en el fichero de log lo siguiente:
WARNING:core:fix_socket_list: could not rev. resolve 192.168.1.54
INFO:core:init_tcp: using epoll_lt as the TCP io watch method (auto
detected)
NOTICE:core:main: version: opensips 1.4.4-notls (i386/linux)
INFO:core:main: using 32 Mb shared memory
INFO:core:main: using 1 Mb private memory per process
INFO:avpops:avpops_init: initializing...
ERROR:core:db_check_api: module db_db_text does not export db_use_table
function
CRITICAL:avpops:avpops_db_bind: cannot bind to database module! Did you
load a database module ?
ERROR:core:init_mod: failed to initialize module avpops
ERROR:core:main: error while initializing modules
Si alguien me puede ayudar se lo agradecería.
--
View this message in context: http://www.nabble.com/Consulta-un-fichero-con-openser-tp22563438p22563438.h…
Sent from the OpenSER Users - ES mailing list archive at Nabble.com.