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 <[email protected]> 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 > [email protected] > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >
_______________________________________________ Kamailio (SER) - Users Mailing List [email protected] https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
