Question one, most important: Could someone please summarize how loose_route() actually functions? I've seen it used in various ways, in various places in the configs I've come across. The only documentation on the SER implementation is a reference to all 260 pages of RFC 3261, a skimming of which was mostly unhelpful. Specifically, does SER's loose_route() modify the request at all, and most importantly, what determines its return code.
Question two, a long shot: Anyone have a complete working config of SER acting as a gateway *and* registrar situated between a 1918 (private) network and the Internet?
Question three, mostly out of curiosity: The default ser.cfg (in stable CVS) loads the stateful transaction manager (tm.so), but uses sl_send_reply for all error replies (404, too many hops, etc). The documentation for the tm module shows t_reply being used to send a 404 response, however. Is there any advantage to using the stateful functions for messages like these? Any disadvantage?
Question four, important but not as urgent: How can I set a timer similar to fr_inv_timer, but on a per-call basis? For example, I'd like to redirect (with t_relay_to_udp) certain incoming calls to a voice mail server after a certain amount of time. Using fr_inv_timer for the timeout, outbound calls also get canceled! Is there some other way to arrange a routing callback?
Question five, last but not least: How are "internal" methods like ACK and OPTIONS supposed to be handled? Is it essential that they fall off the end of the main route{} block so they can be processed by the locally-running SER? Does OPTIONS even enter route{}? Can I "break;" them as a short-cut?
One last thing, is anyone currently working on updating the module documentation? I've come across quite a few errors, and kept track of them, intending to send in a patch once I have SER up and running and have to time to tinker with the docs. If someone's handling it currently I'll just send over my list.
Any help *much* appreciated, Jeremy