diff --git a/images/kamailio/Dockerfile b/images/kamailio/Dockerfile index b06afe5..a1b4ee6 100644 --- a/images/kamailio/Dockerfile +++ b/images/kamailio/Dockerfile @@ -39,6 +39,7 @@ RUN cmake -S /kamailio -B /out -G Ninja -D CMAKE_BUILD_TYPE=Release \ pua ims_registrar_pcscf ims_usrloc_pcscf ims_ipsec_pcscf ims_qos \ ims_icscf \ ims_registrar_scscf ims_usrloc_scscf ims_auth ims_isc ims_charging \ + enum \ presence \ dispatcher \ rtpengine \ diff --git a/images/kamailio/cscf/serving.cfg b/images/kamailio/cscf/serving.cfg index 72d0398..074be14 100644 --- a/images/kamailio/cscf/serving.cfg +++ b/images/kamailio/cscf/serving.cfg @@ -34,10 +34,13 @@ loadmodule "ims_usrloc_scscf" loadmodule "ims_registrar_scscf" loadmodule "ims_auth" loadmodule "ims_isc" +loadmodule "enum" loadmodule "rtpengine" modparam("rtpengine", "rtpengine_sock", RTPADR) +modparam("enum", "domain_suffix", REALM) + include_file "common.cfg" modparam("rr", "add_username", 1) @@ -201,14 +204,21 @@ route[SUBSCRIBE] { } route[MORIG] { + $avp(RR_USER)="mo"; + $var(direction) = "orig"; + route(BILL); + if("INVITE" == $rm) { t_on_reply("INVITE"); rtpengine_manage(); - } - $avp(RR_USER)="mo"; - $var(direction) = "orig"; - route(BILL); + # other networks / PSTN + if($rU =~ "\+[0-9]+") { + if(!enum_query()) { + xinfo("ENUM lookup failed\n"); + } + } + } } route[MTERM] {