[SR-Users] nathelper without usrloc
Sergiu Pojoga
pojogas at gmail.com
Wed Apr 1 01:01:03 CEST 2020
Hi Daniel,
>From what you are describing, my understanding is that the Registrar is the
PBX, kamailio is acting as an edge proxy. If so, doesn't the PBX/registrar
have NAT traversal/keepalive mechanisms of its own?
Regards,
--Sergiu
On Tue, Mar 31, 2020 at 1:55 PM Daniel W. Graham <dan at cmsinter.net> wrote:
> I’ve been missing with this for a while and seem to be missing something.
> Any suggestions on what is missing here?
>
>
>
> Trying to use set_contact_alias() and handle_ruri_alias() from nathelper
> module and nat_keepalive from nat_traversal module, without registrar.
>
>
>
> I had register keepalive working, that has since broke. When register
> keepalive was working, I was able to place call in either direction but ACK
> and BYE was not being routed past kamailio.
>
>
>
> Registrations are forwarded to the PBX using add_path() and is working.
>
>
>
> Also not included below is the routing to the PBX, that is just setting
> $du and t_relay, and is also working.
>
>
>
> Topology is: UA1 -> NAT -> kamailio -> PBX -> UA2
>
>
>
> Using default config file as the example, modified with above changes. I
> also removed RTP config as that is a non-issue.
>
>
>
> request_route {
>
> ……
>
> # FLAG MESSAGES FROM PBX
>
> setflag(FLT_PBX);
>
> route(NATDETECT);
>
> ……
>
>
>
> route[NATDETECT] {
>
> if (nat_uac_test("19")) {
>
> force_rport();
>
> set_contact_alias();
>
> nat_keepalive();
>
> }
>
> return;
>
> }
>
>
>
> route[WITHINDLG] {
>
> if (!has_totag()) return;
>
> if (loose_route()) {
>
> route(DLGURI);
>
> } else if ( is_method("ACK") ) {
>
> route(NATMANAGE);
>
> } else if ( is_method("NOTIFY") ) {
>
> record_route();
>
> }
>
> route(RELAY);
>
> exit;
>
> }
>
>
>
> if (is_method("SUBSCRIBE") && uri == myself) {
>
> route(PRESENCE);
>
> exit;
>
> }
>
> if ( is_method("ACK") ) {
>
> if ( t_check_trans() ) {
>
> route(RELAY);
>
> exit;
>
> } else {
>
> exit;
>
> }
>
> }
>
> sl_send_reply("404","Not here");
>
> exit;
>
> }
>
>
>
> route[NATMANAGE] {
>
> if(isflagset(FLT_PBX)) {
>
> handle_ruri_alias();
>
> }
>
> if(!isflagset(FLT_PBX)) {
>
> set_contact_alias();
>
> } return;
>
> }
>
>
>
> route[DLGURI] {
>
> if(!isdsturiset()) {
>
> handle_ruri_alias();
>
> }
>
> return;
>
> }
>
>
>
> branch_route[MANAGE_BRANCH] {
>
> route(NATMANAGE);
>
> }
>
>
>
> onreply_route[MANAGE_REPLY] {
>
> if(status=~"[12][0-9][0-9]") {
>
> route(NATMANAGE);
>
> }
>
> }
>
> failure_route[MANAGE_FAILURE] {
>
> route(NATMANAGE);
>
>
>
> if (t_is_canceled()) exit;
>
>
>
>
>
> -dan
>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200331/d46d24a2/attachment.html>
More information about the sr-users
mailing list