Hello, I'm trying to use Kamailio as a customer facing SBC to handle NAT traversal and basic SBC functionality for a group of backend FreeSWITCH servers. What I'm trying to accomplish is this: - UAC sends REGISTER - Auth is handled by the edge proxy, backend server trusts edge proxy - If NAT is detected, expires is decreased to 60 seconds, proxy sends options ping - REGISTER is cached and forwarded upstream with Path header and longer expires, i.e. 3600 seconds - UAC reregisters every < 60 seconds but upstream registration is only changed if the timer expires (just less than 3600 seconds) or if AoR changes
I good illustration is here: http://www.markholloway.com/blog/?p=1826
My thought is to use htable to store the AoR with an expires just less than 3600, and check it before crafting a new REGISTER with uac module. Is there a better way of handling this scenario?
Is there an efficient way populate the $uac_req(…) pseudo variables and call uac_req_send() for multiple, i.e. 4-6 backend servers? I guess all I would need to change is the RURI?
Thanks, Spencer