Inicio del mensaje redirigido:
Fecha: Thu, 3 Jun 2010 20:01:35 +0200
Desde: Jon Bonilla (Manwe) <manwe(a)aholab.ehu.es>
Para: sr-dev(a)lists.sip-router.org, SR-Users <sr-users(a)lists.sip-router.org>
Asunto: [SR-Users] New debian and ubuntu repository for kamailio released!
We are proud to announce the release of a Debian and Ubuntu repository for
Kamailio. We hope this will make easier installation and update of Kamailio on
Debian and Ubuntu servers.
Kamailio project's web page …
[View More]hosts the description and instructions:
http://www.kamailio.org/dokuwiki/doku.php/packages:debs
cheers,
Sipdoc Team
[View Less]
Buenas Tardes .
Tengo una duda con respecto al modulo LCR , segun la documentacion la
funcion load_gw carga en la variable
gw_uri_avp los gateways de matched_gws (Tengo 2 grupos con prioridades
diferentes para el mismo prefijo
1 grupo con 2 gateways (tag 840) y 1 grupo con 1 gateway con (tag 870) ).
El problema es q la variable gw_uri_avp solo carga el primer grupo ( el de
mas alta prioridad ), mientras que
el segundo grupo se queda en la variable matched_gws.
Este comportamiento es normal …
[View More]o tengo q agregar otras lineas a mi script ?.
5(4833) DEBUG: <core> [forward.c:356]: check_self: host != me
5(4833) DEBUG: <core> [socket_info.c:485]: grep_sock_info - checking if
host==us: 13==9 && [192.168.0.215] == [127.0.0.1]
5(4833) DEBUG: <core> [socket_info.c:488]: grep_sock_info - checking if
port 5060 matches port 5060
5(4833) DEBUG: <core> [socket_info.c:485]: grep_sock_info - checking if
host==us: 13==13 && [192.168.0.215] == [192.168.0.215]
5(4833) DEBUG: <core> [socket_info.c:488]: grep_sock_info - checking if
port 5060 matches port 5060
* 5(4833) DEBUG: lcr [lcr_mod.c:1782]: added matched_gws[0]=[6, 4, 50,
370945520]
5(4833) DEBUG: lcr [lcr_mod.c:1782]: added matched_gws[1]=[2, 4, 30,
84722120]
5(4833) DEBUG: lcr [lcr_mod.c:1782]: added matched_gws[2]=[5, 4, 30,
162747540]
5(4833) DEBUG: lcr [lcr_mod.c:1688]: added gw_uri_avp
<1|0|840|3623921856||5060|1|0> with weight <84722120>
5(4833) DEBUG: lcr [lcr_mod.c:1688]: added gw_uri_avp
<1|0|840|3640699072||5060|1|0> with weight <162747540>
5(4833) DEBUG: lcr [lcr_mod.c:1902]: r_uri <
sip:84042337104347@192.168.0.217:5060>, dst_uri <>*
5(4833) DEBUG: lcr [lcr_mod.c:2021]: added ruri_user_avp <42337104347>
5(4833) DEBUG: lcr [lcr_mod.c:2077]: added flags_avp <0>
5(4833) INFO: <script>:
Saludos
Berzoc
[View Less]
Perdonad si la pregunta no es exactamente de kamailio....
Tengo un kamailio en ha con heartbeat. Kamailio escucha en sendas ips virtuales
de una red privada y una pública. No escucha en las ips reales porque el
servicio de kamailio y las ips virtuales se balancean.
El problema viene cuando tengo que hacer el t_relay. Kamailio intenta mandar el
paquete desde la ip real en vez de la virtual y el tm me dice que ni hablar.
Entre los resources de kamailio he encontrado uno llamado IPsrcaddr que …
[View More]permite
poner la ip de origen en las rutas del host de tal forma que me soluciona la
papeleta al setear la ip virtual como dirección de origen.
Lo malo es que este haresource sólo me permite setear la ip de origen en la
ruta por defecto. Parece que internamente hace un "ip route add 0.0.0.0/0 src
ip_como_paramentro". Esto es, no me permite hacer lo mismo con la ip virtual
interna.
¿Alguien conoce un haresource o una forma elegante de hacer esto? Estoy
haciendo mi propio script de haresource para soucionarlo, pero no sé si es la
mejor solución.
[View Less]
Hola a todos,
Estoy interesado en crear un sistema de carga balanceada con Kamailio. Mi
escenario es el siguiente:
Tengo dos servidores Asterisk que son los que dan las funcionalidades de
VoIP. Estos dos servidores asterisk están conectados a un SIP Server
Kamailio mediante dos conexiones Trunk. Es Kamailio quien registra a los
usuarios.
Ahora estoy interesado en crear alguna manera de balancear la carga de las
llamadas entre los dos servidores Asterisk. He leído algo acerca del módulo
…
[View More]dispatcher de Kamailio. Conocen algún buen tutorial sobre este módulo? Qué
documentación me aconsejan para poder configurar este sistema?
Gracias por adelantado.
Saludos cordiales.
--
jabber: triptik(a)12jabber.com
blog: http://impresionesdeunloco.wordpress.com
[View Less]
Hola,
un duda que tengo (desde hace tiempo y que no he aclarado hasta la fecha) es
si es posible configurar un sistema de control de acceso con Kamailio para
limitar el ancho de banda consumido entre sites distribuidos. La idea es un
SIP Proxy centralizado dando servicio a terminales en sites remotos. Esta
funcionalidad de control de acceso es una funcionalidad realizada por los
gatekeepers en H.323 o incluso la solución de CUCM de Cisco tiene
Locations/Regions, ...
La idea es: tengo una WAN …
[View More]y en las llamadas remotas quiero limitar a x
llamadas con un determinado codec para evitar pasar de un determinado ancho
de banda y que la calidad de las conversaciones voip se degraden. Para ello
necesitaríamos:
- Forzar a usar un codec de low bitrate cuando las llamadas son por la WAN
(pero seguir usando un codec de high bitrate en la LAN)
* Hay algún modulo que permita modificar la negociación SDP entre
terminales SIP para forzar el uso de unos codecs cuando se llamen a unas
extensiones locales (misma LAN) o a otras extensiones (salida por la WAN).
* Esta negociación selectiva de codecs se puede hacer con los teléfonos
directamente o es necesario hacerlo en el SIP Proxy?
- Limitar a X llamadas cuando las llamadas salen por la WAN
* Creo que con el mismo módulo dialog se podría hacer un seguimiento de
las conversaciones en activo ¿algun otro modulo?
Saludos,
--
Christian Pinedo Zamalloa (zako)
PGP keyID: 0x828D0C80
Fingerprint: 7BFF 4105 F46B 7977 BD96 348C 1007 4FF8 828D 0C80
[View Less]
Escribo nuevamente en busca de ayuda =)
estoy habilitando tls en kamailio que se comunica con dos asterisk (funciona
perfecto sin TLS)
el problema es que no se donde debo ubicar las lineas dentro del archivo
de configuración
kamailio.cfg
puesto que yo no trabajo con dominios como menciona la mayoría de
la documentación
mis extensiones están en las gw (asterisk)
t_relay_to_tls("10.3.0.248","5061")
o
t_relay("tls:10.3.0.248:5061")
en el fondo debiera hacer esto cuando reescribo los host de …
[View More]destino???
la ip que debo poner en esa linea es la de el asterisk proximo? o la
de kamailio?
[View Less]
Hola,
La razón por la que escribo esta vez es para ver si me pueden ayudar adirigir llamas hacia un voicemail configurado en Asterisk.
El escenario es el siguiente: hasta este punto tengo usuarios que se encuentran en LDAP, estos se autentican a través de un servidor Radius con OpenSER, una vez que tengo los usuarios en Openser estos pueden hacer llamadas SIP entre usuarios registrados asé como tambien realizar llamadas a la pstn utilizando para ello Asterisk como gateway, por otro lado …
[View More]los usuarios de OpenSER pueden consultar su buzón de voz al presionar *98, el buzón esta vacío porque no se como hacer que OpenSer redireccione la llamada a Asterisk en caso de que el cliente este ocupado o no disponible.
Se que tengo que usar el failure_route pero no se como aplicarlo,
Gracias en adelanto por la ayuda,
Mario F.
Mi openser.cfg es el siguiente:
debug=3
# debug level (cmd line: -dddddddddd)
fork=no
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
listen=udp:192.168.1.11
alias="tesis.com"
#
# uncomment the following lines for TLS support
#disable_tls = 0
#listen = tls:your_IP:5061
#tls_verify = 1
#tls_require_certificate = 0
#tls_method = TLSv1
#tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"
#tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"
#tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib/openser/modules/mysql.so"
loadmodule "/usr/local/lib/openser/modules/sl.so"
loadmodule "/usr/local/lib/openser/modules/tm.so"
loadmodule "/usr/local/lib/openser/modules/rr.so"
loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule "/usr/local/lib/openser/modules/registrar.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
loadmodule "/usr/local/lib/openser/modules/avpops.so"
loadmodule "/usr/local/lib/openser/modules/xlog.so"
loadmodule "/usr/local/lib/openser/modules/uri.so"
loadmodule "/usr/local/lib/openser/modules/acc.so"
loadmodule "/usr/local/lib/openser/modules/auth_radius.so"
loadmodule "/usr/local/lib/openser/modules/group_radius.so"
loadmodule "/usr/local/lib/openser/modules/avp_radius.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/openser/modules/auth.so"
#loadmodule "/usr/local/lib/openser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
###############PARAMETROS RADIUS
# -- acc params --
modparam("acc", "radius_flag", 1)
modparam("acc", "radius_missed_flag", 2)
modparam("acc", "log_flag", 1)
modparam("acc", "log_missed_flag", 1)
modparam("auth_radius", "service_type", 15)
modparam("acc", "radius_extra", "Sip-Src-IP=$si;Sip-Src-Port=$sp")
modparam("acc|auth_radius|group_radius|avp_radius", "radius_config", "/usr/local/etc/radiusclient-ng/radiusclient.conf")
# -- group_radius params --
modparam("group_radius", "use_domain", 1)
# -- avpops params --
modparam("avpops", "avp_aliases", "day=i:101;time=i:102")
# -- auth params --
# Uncomment if you are using auth module
#
#modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
#modparam("auth_db", "password_column", "password")
# -- 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_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
# 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();
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route())
{
append_hf("P-hint: rr-enforced\r\n");
if(is_method("BYE"))
{ # log it all the time
acc_rad_request("200 ok");
acc_log_request("200 ok");
}
route(1);
};
if(is_method("INVITE") && !has_totag())
{ # set the acc flags
log(1,"-----> LLAMADA SIP <----- \n");
setflag(1);
setflag(2);
}
if (uri==myself)
{
if (method=="REGISTER")
{
if (!radius_www_authorize("tesis.com"))
{
www_challenge("tesis.com", "0");
exit;
};
save("location");
exit;
};
if(uri=~"sip:\*98@.*")
{
#authorize if a call is going to PSTN
xlog("L_INFO", "CALL: Call to check voicemail\n");
rewritehostport("192.168.1.10:5060");
};
if(uri=~"sip:041[2-6][0-9][0-9][0-9][0-9][0-9][0-9]+@")
{
#xlog("L_ERR", "LLAMANDO A PSTN\n");
# set gateway address "ASTERISK"
log(1, "LLAMANDO A PSTN -----> Forwarding to Asterisk <----- \n");
rewritehostport("192.168.1.10:5060");
route(1);
};
lookup("aliases");
if (!uri==myself)
{
append_hf("P-hint: outbound alias\r\n");
route(1);
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location"))
{
acc_rad_request("404 Not Found");
acc_log_request("404 Not Found");
sl_send_reply("404", "Not Found");
exit;
};
append_hf("P-hint: usrloc applied\r\n");
};
route(1);
}
route[1]
{
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay())
{
sl_reply_error();
};
exit;
}
Get news, entertainment and everything you care about at Live.com. Check it out!
_________________________________________________________________
Connect to the next generation of MSN Messenger
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=…
[View Less]
Hola nuevamente
Ya me funciona la configuración con 2 Asterisk y un kamailio. El problema lo
tengo a la hora de autenticar usuarios que están registrados en Asterisk.
Como logro hacer que Kamailio pregunte a Asterisk por uno de sus usuarios?
Y luego sepa como entablar la conversación sin que El usuario de Kamailio
establezca comunicación con la PBX. Si no que solo se comunique con kamilio
incluso en el trafico RTP.
Tengo una función AUTH que autentica pero solo a los que se encuentran …
[View More]en
Kamailio
route[AUTH] {
#!ifdef WITH_AUTH
if (is_method("REGISTER"))
{
# authenticate the REGISTER requests (uncomment to enable auth)
if (!www_authorize("", "subscriber"))
{
www_challenge("", "0");
exit;
}
if ($au!=$tU)
{
sl_send_reply("403","Forbidden auth ID");
exit;
}
} else {
# authenticate if from local subscriber (uncomment to enable
auth)
if (from_uri==myself)
{
if (!proxy_authorize("", "subscriber")) {
proxy_challenge("", "0");
exit;
}
if (is_method("PUBLISH"))
{
if ($au!=$tU) {
sl_send_reply("403","Forbidden auth ID");
exit;
}
} else {
if ($au!=$fU) {
sl_send_reply("403","Forbidden auth ID");
exit;
}
}
consume_credentials();
# caller authenticated
}
}
[View Less]
Hola tengo problemas para traspasar llamadas desde un terminal asterisk de
numeracion 5XXX a un
terminal en kamailio 3XXX
La configuracion es muy simple
Telefono3XXX<------->Kamailio<------->Asterisk<------->telefono5XXX
cuando llamo de 3100 a 5555
Kamailio le responde a asterisk con un 484 address incomplete
y cuando lo hago de 5555 a 3000
Asterisk manda un 403 forbidem
Cual es el problema? Es una configuración bien simple
de antemano muchas gracias
Adjunto mi …
[View More]configuracion en Asterisk
extensions.conf
[from-kamailio]
include => from-internal
[sip-local]
include => asterisk-out
;;Llamadas a extensions locales
exten => _5XXX,1,NoOp(Llamada Entrante)
exten => _5XXX,2, Dial(SIP/${EXTEN},20,Ttr)
exten => _5XXX,3,Hangup()
[asterisk-out]
;;Llamadas hacia Kamailio
exten => _3XXX,1,NoOp(Llamada hacia Kamailio)
exten => _3XXX,2, Dial(SIP/${EXTEN}@10.3.0.240:5060)
exten => _3XXX,3,Hangup()
sip.conf
[general]
context=default
register => 5999:5999@10.3.0.240 <5999%3A5999(a)10.3.0.240>
registertimeout=20
registerattempts=10
allowoverlap=no
bindport=5060
srvlookup=yes
[5999]
type=friend
secret=5999
context=from-kamailio
callerid=”Kamailio-Asterisk” <5999>
username=5999
fromuser=5999
insecure=very
fromdomain=10.2.0.240
call-limit=1
outboundproxy=10.2.0.240
port=5060
Adjunto mi archivo de configuracion de kamailio
***************************Archivo de configuracion de
Kamailio*******************************************+
#!KAMAILIO
#
# $Id$
#
# Kamailio (OpenSER) SIP Server v3.0 - basic configuration script
# - web: http://www.kamailio.org
# - git: http://sip-router.org
#
# Direct your questions about this file to: <users(a)lists.kamailio.org>
#
# Refer to the Core CookBook at http://www.kamailio.org/dokuwiki/doku.php
# for an explanation of possible statements, functions and parameters.
#
# Several features can be enabled using '#!define WITH_FEATURE' directives:
#
# *** To run in debug mode:
# - define WITH_DEBUG
#
# *** To enable mysql:
# - define WITH_MYSQL
#
# *** To enable authentication execute:
# - enable mysql
# - define WITH_AUTH
# - add users using 'kamctl'
#
# *** To enable persistent user location execute:
# - enable mysql
# - define WITH_USRLOCDB
#
# *** To enable presence server execute:
# - enable mysql
# - define WITH_PRESENCE
#
# *** To enable nat traversal execute:
# - define WITH_NAT
# - install RTPProxy: http://www.rtpproxy.org
# - start RTPProxy:
# rtpproxy -l _your_public_ip_ -s udp:localhost:7722
#
# *** To enable PSTN gateway routing execute:
# - define WITH_PSTN
# - set the value of pstn.gw_ip
# - check route[PSTN] for regexp routing condition
#
# *** To enhance accounting execute:
# - enable mysql
# - define WITH_ACCDB
# - add following columns to database
#!ifdef ACCDB_COMMENT
ALTER TABLE acc ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT '';
ALTER TABLE acc ADD COLUMN dst_domain VARCHAR(128) NOT NULL DEFAULT '';
ALTER TABLE missed_calls ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT
'';
ALTER TABLE missed_calls ADD COLUMN src_domain VARCHAR(128) NOT NULL
DEFAULT '';
ALTER TABLE missed_calls ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT
'';
ALTER TABLE missed_call ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT
'';
ALTER TABLE missed_calls ADD COLUMN dst_domain VARCHAR(128) NOT NULL
DEFAULT '';
#!endif
####### Global Parameters #########
#!ifdef WITH_DEBUG
debug=3
log_stderror=no
#!else
debug=2
log_stderror=no
#!endif
memdbg=5
memlog=5
log_facility=LOG_LOCAL0
fork=yes
children=4
/* uncomment the next line to disable TCP (default on) */
disable_tcp=yes
/* uncomment the next line to disable the auto discovery of local aliases
based on revers DNS on IPs (default on) */
auto_aliases=no
dns_try_ipv6=no
port=5060
/* uncomment and configure the following line if you want Kamailio to
bind on a specific interface/port/proto (default bind on all available)
*/
#listen=udp:10.0.0.10:5060
####### Custom Parameters #########
# These parameters can be modified runtime via RPC interface
# - see the documentation of 'cfg_rpc' module.
#
# Format: group.id = value 'desc' description
# Access: $sel(cfg_get.group.id) or @cfg_get.group.id
#
#!ifdef WITH_PSTN
# PSTN GW Routing
#
# - pstn.gw_ip: valid IP or hostname as string value, example:
# pstn.gw_ip = "10.0.0.101" desc "My PSTN GW Address"
#
# - by default is empty to avoid misrouting
pstn.gw_ip = "" desc "PSTN GW Address"
#!endif
####### Modules Section ########
#set module path
mpath="/usr/local/lib/kamailio/modules_k/:/usr/local/lib/kamailio/modules/"
/* uncomment next line for MySQL DB support */
#!ifdef WITH_MYSQL
loadmodule "db_mysql.so"
#!endif
loadmodule "mi_fifo.so"
loadmodule "kex.so"
loadmodule "tm.so"
loadmodule "tmx.so"
loadmodule "sl.so"
loadmodule "rr.so"
loadmodule "pv.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "uri_db.so"
loadmodule "siputils.so"
loadmodule "xlog.so"
loadmodule "sanity.so"
loadmodule "ctl.so"
loadmodule "mi_rpc.so"
loadmodule "acc.so"
#!ifdef WITH_AUTH
loadmodule "auth.so"
loadmodule "auth_db.so"
#!endif
/* 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"
#!ifdef WITH_PRESENCE
loadmodule "presence.so"
loadmodule "presence_xml.so"
#!endif
#!ifdef WITH_NAT
loadmodule "nathelper.so"
#!endif
# ----------------- setting module-specific parameters ---------------
# ----- mi_fifo params -----
modparam("mi_fifo", "fifo_name", "/tmp/kamailio_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)
modparam("acc", "log_extra",
"src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
/* enhanced DB accounting */
#!ifdef WITH_ACCDB
modparam("acc", "db_flag", 1)
modparam("acc", "db_missed_flag", 2)
modparam("acc", "db_url",
"mysql://openser:openserrw@localhost/openser")
modparam("acc", "db_extra",
"src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
#!endif
# ----- usrloc params -----
/* enable DB persistency for location entries */
#!ifdef WITH_USRLOCDB
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "db_url",
"mysql://openser:openserrw@localhost/openser")
#!endif
# ----- auth_db params -----
/* enable the DB based authentication */
#!ifdef WITH_AUTH
#modparam("auth_db", "calculate_ha1", yes)
#modparam("auth_db", "password_column", "password")
#modparam("auth_db", "db_url",
"mysql://openser:openserrw@localhost/openser")
#modparam("auth_db", "load_credentials", "")
#!endif
# ----- alias_db params -----
/* uncomment the following lines if you want to enable the DB based
aliases */
#modparam("alias_db", "db_url",
# "mysql://openser:openserrw@localhost/openser")
# ----- domain params -----
/* uncomment the following lines to enable multi-domain detection
support */
#modparam("domain", "db_url",
# "mysql://openser:openserrw@localhost/openser")
#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 -----
/* enable presence server support */
#!ifdef WITH_PRESENCE
modparam("presence|presence_xml", "db_url",
"mysql://openser:openserrw@localhost/openser")
modparam("presence_xml", "force_active", 1)
modparam("presence", "server_address", "sip:10.0.0.10:5060")
#!endif
# ----- nathelper -----
#!ifdef WITH_NAT
modparam("nathelper", "rtpproxy_sock", "udp:127.0.0.1:7722")
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "sipping_bflag", 7)
modparam("nathelper", "sipping_from",
"sip:pinger@kamailio.org<sip%3Apinger(a)kamailio.org>
")
modparam("registrar|nathelper", "received_avp", "$avp(i:80)")
modparam("usrloc", "nat_bflag", 6)
#!endif
####### Routing Logic ########
# main request routing logic
route{
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
}
if(!sanity_check("1511", "7"))
{
xlog("Malformed SIP message from $si:$sp\n");
exit;
}
# NAT detection
route(NAT);
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(RELAY);
#route(1);
} else {
#if (is_method("SUBSCRIBE") && uri == myself) {
if (is_method("SUBSCRIBE") && $rd == "10.3.0.249:5060") {
# in-dialog subscribe requests
route(PRESENCE);
#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();
# authentication
# route(AUTH);
# record routing for dialog forming requests (in case they are routed)
# - remove preloaded route headers
remove_hf("Route");
if (is_method("INVITE|SUBSCRIBE"))
record_route();
# account only INVITEs
if (is_method("INVITE")) {
if (uri =~ "sip:5[0-9][0-9][0-9]@*"){
route(3);
exit;
}
#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");
route(RELAY);
}
# requests for my domain
if( is_method("PUBLISH|SUBSCRIBE"))
route(PRESENCE);
if (is_method("PUBLISH"))
{
sl_send_reply("503", "Service Unavailable");
exit;
}
if (is_method("REGISTER"))
{
if(isflagset(5))
{
setbflag("6");
# uncomment next line to do SIP NAT pinging
## setbflag("7");
}
if (!save("location"))
sl_reply_error();
exit;
}
if ($rU==$null) {
#$rU==10.3.0.252
# request with no Username in RURI
sl_send_reply("484","Address Incomplete"+$rU);
exit;
}
#route(PSTN);
# apply DB based aliases (uncomment to enable)
##alias_db_lookup("dbaliases");
if (!lookup("location")) {
switch ($rc) {
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(RELAY);
}
route[RELAY] {
#!ifdef WITH_NAT
# if (check_route_param("nat=yes")) {
# setbflag("6");
# }
# if (isflagset(5) || isbflagset("6")) {
# route(RTPPROXY);
# }
#!endif
# /* example how to enable some additional event routes */
# if (is_method("INVITE")) {
# #t_on_branch("BRANCH_ONE");
# t_on_reply("REPLY_ONE");
# t_on_failure("FAIL_ONE");
# }
if (!t_relay()) {
sl_reply_error();
}
exit;
}
# Presence server route
route[PRESENCE]
{
#!ifdef WITH_PRESENCE
if (!t_newtran())
{
sl_reply_error();
exit;
};
if(is_method("PUBLISH"))
{
handle_publish();
t_release();
}
else
if( is_method("SUBSCRIBE"))
{
handle_subscribe();
t_release();
}
exit;
#!endif
# if presence enabled, this part will not be executed
if (is_method("PUBLISH") || $rU==$null)
{
sl_send_reply("404", "Not here");
exit;
}
return;
}
# Authentication route
route[AUTH] {
#!ifdef WITH_AUTH
if (is_method("REGISTER"))
{
# authenticate the REGISTER requests (uncomment to enable auth)
if (!www_authorize("", "subscriber"))
{
www_challenge("", "0");
exit;
}
if ($au!=$tU)
{
sl_send_reply("403","Forbidden auth ID");
exit;
}
} else {
# authenticate if from local subscriber (uncomment to enable auth)
if (from_uri==myself)
{
if (!proxy_authorize("", "subscriber")) {
proxy_challenge("", "0");
exit;
}
if (is_method("PUBLISH"))
{
if ($au!=$tU) {
sl_send_reply("403","Forbidden auth ID");
exit;
}
} else {
if ($au!=$fU) {
sl_send_reply("403","Forbidden auth ID");
exit;
}
}
consume_credentials();
# caller authenticated
}
}
#!endif
return;
}
# Caller NAT detection route
route[NAT]{
#!ifdef WITH_NAT
force_rport();
if (nat_uac_test("19")) {
if (method=="REGISTER") {
fix_nated_register();
} else {
fix_nated_contact();
}
setflag(5);
}
#!endif
return;
}
# RTPProxy control
route[RTPPROXY] {
#!ifdef WITH_NAT
if (is_method("BYE")) {
unforce_rtp_proxy();
} else if (is_method("INVITE")){
force_rtp_proxy();
}
if (!has_totag()) add_rr_param(";nat=yes");
#!endif
return;
}
# PSTN GW routing
route[PSTN] {
#!ifdef WITH_PSTN
# check if PSTN GW IP is defined
if (strempty($sel(cfg_get.pstn.gw_ip))) {
xlog("SCRIPT: PSTN rotuing enabled but pstn.gw_ip not defined\n");
return;
}
# route to PSTN dialed numbers starting with '+' or '00'
# (international format)
# - update the condition to match your dialing rules for PSTN routing
if(!($rU=~"^(\+|00)[1-9][0-9]{3,20}$"))
return;
# only local users allowed to call
if(from_uri!=myself) {
sl_send_reply("403", "Not Allowed");
exit;
}
$ru = "sip:" + $rU + "@" + $sel(cfg_get.pstn.gw_ip);
route(RELAY);
exit;
#!endif
return;
}
# Sample branch router
branch_route[BRANCH_ONE] {
xdbg("new branch at $ru\n");
}
# Sample onreply route
onreply_route[REPLY_ONE] {
xdbg("incoming reply\n");
#!ifdef WITH_NAT
if ((isflagset(5) || isbflagset("6")) && status=~"(183)|(2[0-9][0-9])") {
force_rtp_proxy();
}
if (isbflagset("6")) {
fix_nated_contact();
}
#!endif
}
# Sample failure route
failure_route[FAIL_ONE] {
#!ifdef WITH_NAT
if (is_method("INVITE")
&& (isbflagset("6") || isflagset(5))) {
unforce_rtp_proxy();
}
#!endif
if (t_is_canceled()) {
exit;
}
# uncomment the following lines if you want to block client
# redirect based on 3xx replies.
##if (t_check_status("3[0-9][0-9]")) {
##t_reply("404","Not found");
## exit;
##}
# uncomment the following lines if you want to redirect the failed
# calls to a different new destination
##if (t_check_status("486|408")) {
## sethostport("192.168.2.100:5060");
## append_branch();
## # do not set the missed call flag again
## t_relay();
##}
}
route[3] {
if (uri=~ "sip:5[0-9][0-9][0-9]@*"){ #nuevamente corrobora la
regla de marcación
rewritehostport("10.3.0.249:5060");
route(RELAY);
exit;
}
}
[View Less]
ok! si se puede utilizando ngrep
att,
guillermo
> From: sr-users-es-request(a)lists.sip-router.org
> Subject: Resumen de SR-Users-ES, Vol 29, Envío 1
> To: sr-users-es(a)lists.sip-router.org
> Date: Tue, 26 Jan 2010 12:00:01 +0100
>
> Envíe los mensajes para la lista SR-Users-ES a
> sr-users-es(a)lists.sip-router.org
>
> Para subscribirse o anular su subscripción a través de la WEB
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
>
> …
[View More]O por correo electrónico, enviando un mensaje con el texto "help" en
> el asunto (subject) o en el cuerpo a:
> sr-users-es-request(a)lists.sip-router.org
>
> Puede contactar con el responsable de la lista escribiendo a:
> sr-users-es-owner(a)lists.sip-router.org
>
> Si responde a algún contenido de este mensaje, por favor, edite la
> linea del asunto (subject) para que el texto sea mas especifico que:
> "Re: Contents of SR-Users-ES digest...". Además, por favor, incluya en
> la respuesta sólo aquellas partes del mensaje a las que está
> respondiendo.
>
>
> Asuntos del día:
>
> 1. Consulta. (Tincho ylm)
> 2. Re: Consulta. (Jon Bonilla (Manwe))
> 3. Re: Consulta. (Tincho ylm)
> 4. Re: Consulta. (Raúl Alexis Betancor Santana)
> 5. Re: Consulta. (Berzoc)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Mon, 25 Jan 2010 15:22:01 -0300
> From: Tincho ylm <sadzas(a)gmail.com>
> Subject: [SR-Users-ES] Consulta.
> To: sr-users-es(a)lists.sip-router.org
> Message-ID:
> <cc006d071001251022x365d9a75o10dddc7248118108(a)mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Que tal?
>
> Estuve buscando Building Telephony System... tambien en kamailio.org,
> busque en google y no pude encontrar si lo siguiente se puede hacer o
> no.
>
> Quiero poder seguir el script de kamailio linea a linea a medida que
> procesa los mensajes. algo como el CLI de Asterisk.
>
> es posible esto?
>
>
> gracias.
>
>
>
> ------------------------------
>
> Message: 2
> Date: Mon, 25 Jan 2010 21:35:06 +0100
> From: Jon Bonilla (Manwe) <manwe(a)aholab.ehu.es>
> Subject: Re: [SR-Users-ES] Consulta.
> To: sr-users-es(a)lists.sip-router.org
> Message-ID: <20100125213506.6f118b64@quenya>
> Content-Type: text/plain; charset=UTF-8
>
> El Mon, 25 Jan 2010 15:22:01 -0300
> Tincho ylm <sadzas(a)gmail.com> escribió:
>
>
> > Quiero poder seguir el script de kamailio linea a linea a medida que
> > procesa los mensajes. algo como el CLI de Asterisk.
> >
> > es posible esto?
> >
>
>
> Si te refieres a log puedes usar el módulo xlog para sacar los mensajes que
> quieras.
>
>
>
>
>
>
> ------------------------------
>
> Message: 3
> Date: Mon, 25 Jan 2010 17:54:12 -0300
> From: Tincho ylm <sadzas(a)gmail.com>
> Subject: Re: [SR-Users-ES] Consulta.
> To: sr-users-es(a)lists.sip-router.org
> Message-ID:
> <cc006d071001251254q2c859ea5n86c4070f6a6a2db(a)mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Si, xlog es lo que utilizo habitualmente.
>
> Pero me referia a si existe alguna forma de seguir el script de forma
> secuencial, mostrando las lineas del script que se estan comprobando
> en tiempo real.
>
> no se si me explico bien, pero no encontre forma de que se pueda.
>
>
>
> ------------------------------
>
> Message: 4
> Date: Mon, 25 Jan 2010 21:39:10 +0000
> From: Raúl Alexis Betancor Santana <rabs(a)dimension-virtual.com>
> Subject: Re: [SR-Users-ES] Consulta.
> To: Lista de usuarios de SIP Router <sr-users-es(a)lists.sip-router.org>
> Message-ID: <201001252139.10856.rabs(a)dimension-virtual.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> On Monday 25 January 2010 20:54:12 Tincho ylm wrote:
> > Si, xlog es lo que utilizo habitualmente.
> >
> > Pero me referia a si existe alguna forma de seguir el script de forma
> > secuencial, mostrando las lineas del script que se estan comprobando
> > en tiempo real.
> >
> > no se si me explico bien, pero no encontre forma de que se pueda.
>
> Que yo sepa, no existe un modo "depuración" del script.
>
> Tampoco es que lo vea útil, con xlog, ngrep y un el RFC correspondiente a
> mano, no hace falta mucho más.
>
> --
> Raúl Alexis Betancor Santana
> Dimensión Virtual
>
>
>
> ------------------------------
>
> Message: 5
> Date: Mon, 25 Jan 2010 17:29:08 -0500
> From: Berzoc <berzoc(a)gmail.com>
> Subject: Re: [SR-Users-ES] Consulta.
> To: rabs(a)dimension-virtual.com, Lista de usuarios de SIP Router
> <sr-users-es(a)lists.sip-router.org>
> Message-ID:
> <b04b40101001251429h6050c010j6d32299309997ebd(a)mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Existe un buen articulo y bastante bien explicado
> http://sipdoc.net/web/
> Gracias por el gran material
>
> Saludos
> Berzoc
>
>
> 2010/1/25 Raúl Alexis Betancor Santana <rabs(a)dimension-virtual.com>
>
> > On Monday 25 January 2010 20:54:12 Tincho ylm wrote:
> > > Si, xlog es lo que utilizo habitualmente.
> > >
> > > Pero me referia a si existe alguna forma de seguir el script de forma
> > > secuencial, mostrando las lineas del script que se estan comprobando
> > > en tiempo real.
> > >
> > > no se si me explico bien, pero no encontre forma de que se pueda.
> >
> > Que yo sepa, no existe un modo "depuración" del script.
> >
> > Tampoco es que lo vea útil, con xlog, ngrep y un el RFC correspondiente a
> > mano, no hace falta mucho más.
> >
> > --
> > Raúl Alexis Betancor Santana
> > Dimensión Virtual
> >
> > _______________________________________________
> > SR-Users-ES mailing list
> > SR-Users-ES(a)lists.sip-router.org
> > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
> >
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <http://lists.sip-router.org/pipermail/sr-users-es/attachments/20100125/f3ef…>
>
> ------------------------------
>
> _______________________________________________
> SR-Users-ES mailing list
> SR-Users-ES(a)lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
>
>
> Fin de Resumen de SR-Users-ES, Vol 29, Envío 1
> **********************************************
_________________________________________________________________
¡Seducción! 249 historias cada semana en el sitio nº1 para conseguir una cita. ¡Regístrate!
http://contactos.es.msn.com/?mtcmk=015352
[View Less]