summary: I think you need to special case timers for outbound calls not
to interfere with timer logic in the other domain for inbound calls.
Way a) modifiable timers (takes a piece of work on code, see a separate
email), way b) stateless forwarding for outbound calls without the
possibility of accounting.
as for b) the idea is simple, you keep no state for request (use forward
as opposed to t_relay), you just forward back and forth like an IP router,
and that's it. SER will not need and/or be able to to wipe the state from
memory and cancel a transaction prematurely. The limitation is that stateless
processing is mutualy exclusive with accounting. If you wish to account
calls to other domains, you need to keep requests and replies in memory
to correlate them to generate accounting records. If you keep something
in memory, you need to set up timer to clean it if it is there for too
long and takes too much place.
-jiri
At 03:56 PM 2/8/2004, Greg Fausak wrote:
I have an INVITE timeout problem.
My SIP layout includes:
+---------------+
| EXTERNAL PSTN |
| SIP SERVERS |
+---------------+
|
|
+---------------+
| MAIN INCOMING |
| SIP SERVER |
+---------------+
| |
| |
+------------+ +-----------------+
| SIP SERVER | | SIP SERVER |
| DOMAINA.com| |
OtherDom.com |
+------------+ +-----------------+
| |
| |
+----------+ +---------+
| customerA| |otherCust|
+----------+ +---------+
I hope the ASCII drawing worked!
Calls come in from the top down.
The MAIN INCOMING server uses internal ENUM
to deliver the call to the correct domain
server. Once delivered to that server,
if the customer does not answer his phone before
an INVITE timeout occurs the call is forwarded to
voicemail.
This works great when the call is from an external PSTN
server. It also works great if a user in
DOMAINA.com calls another
user in
DOMAINA.com.
I am experiencing difficulty when a user in
DOMAINA.com
calls a user in
OtherDom.com. The SER at
DOMAINA.com
recognizes that INVITE is going to a foreign domain, and it
t_relays() the INVITE to the MAIN INCOMING SER. It then gets
t_relayed() to
OtherDom.com where the call is delivered.
The problem is both use the same INVITE timer, so the TIMEOUT
on
DOMAINA.com occurs *before* the TIMEOUT on
OtherDom.com, which
means that the call is not delivered to voicemail.
Any ideas?
---greg
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
--
Jiri Kuthan
http://iptel.org/~jiri/