Alguien me podria por favor ayudar con mi setup, estoy tratando de
configurar kamailio como proxy en AWS, nesecito pasar llamadas de carriers
hacia my banco de asterisk, pero estoy teniendo un problema cuando asterisk
responde el carrier recibe el ip interno no el externo y la llamada se cae
despues de varios 200 de asterisk wue son a su vez pasados por kamailio,
podria alguien mostrar un link donde pueda aprender a configurar nat en
kamailio.
la siguiente es mi configuracion
mi pobjetivo es hacer un proxy para ocultar todos los asterisk detras de
kamailio.
no nesecito registrar ninguna cuenta solo hacer un proxy de los invites, y
el problema esta que en mis respuestas en el contacto kamailio esta
escribiendo el ip interno no el externo y por esto el originador no puede
responder a la llamada.
gracias de antemano por cualquier ayuda prestada.
originador >>>kamailio >>>>asterisk
debug=4
log_stderror=yes
#!else
debug=2
log_stderror=yes
#!endif
memdbg=5
memlog=5
log_facility=LOG_LOCAL0
fork=yes
children=4
auto_aliases=no
listen=udp:internal ip:5060 advertise external ip:5060
mhomed=0
alias="mysip.com"
alias="Internal IP:5060"
alias=Internal IP:5060
alias=Elastic IP
alias=Elastic IP:5060
port=5060
enable_tls=no
#tcp_connection_lifetime=3605
#!ifdef WITH_SRCPATH
mpath="modules_k:modules"
#!else
mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/"
mpath="/usr/lib64/kamailio/modules_k/:/usr/lib64/kamailio/modules/"
#!endif
loadmodule "tm.so"
loadmodule "sl.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "textops.so"
loadmodule "pv.so"
loadmodule "dispatcher.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "siputils.so"
loadmodule "sanity.so"
loadmodule "ctl.so"
loadmodule "mi_rpc.so"
loadmodule "acc.so"
loadmodule "avpops.so"
#!ifdef WITH_NAT
loadmodule "nathelper.so"
loadmodule "rtpproxy.so"
#!endif
loadmodule "xlog.so"
modparam("tm", "failure_reply_mode", 3)
modparam("tm", "fr_timer", 30000)
modparam("tm", "fr_inv_timer", 120000)
modparam("dispatcher", "list_file",
"/etc/kamailio/dispatcher.lst")
#!ifdef WITH_NAT
# ----- rtpproxy params -----
modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")
# ----- nathelper params -----
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)
modparam("nathelper", "sipping_from",
"sip:pinger@kamailio.org")
# params needed for NAT traversal in other modules
modparam("nathelper|registrar", "received_avp",
"$avp(RECEIVED)")
modparam("usrloc", "nat_bflag", FLB_NATB)
#!endif
#subst_uri('/^sip:1([23456789][0-9]+)@(.*)$/sip:\1@\2/i');
request_route {
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
}
if (loose_route()) {
if (!t_relay()) {
sl_reply_error();
}
exit;
}
if (is_method("INVITE")) {
record_route();
append_hf("X-Src-IP: $src_ip\r\n");
}
if(!t_relay_to_udp("ip interna", "5060")) {
sl_reply_error();
}
exit;
}