[Asterisk-Users] Shutting down Asterisk when not in RTP Stream

BJ Weschke bweschke at gmail.com
Mon Dec 19 05:49:41 MST 2005


On 12/18/05, Douglas Garstang <dgarstang at oneeighty.com> wrote:
> Hi Tyler.
>
> We're registering users with OpenSER, which also routes the calls to a series of Asterisk systems. The really tricky part is allowing different phones entering through different Asterisk systems to reach other. Currently, the solution is to, upon registration from phones, issue a forward() command in OpenSER to forward the registration to every Asterisk system. In this way, every Asterisk box knows about every phone and it doesn't matter which Asterisk system takes the call.
>
> It's not a perfect solution though. When OpenSER sends the forward() request to Asterisk, it also sends back the 'Trying' and 'Ok' messages to the phones (We're using Polycom's). The phones don't seem to have a problem with these extraneous messages.... so far. A better solution would have been to use t_replicate() in OpenSER, which absorbs these messages, but you can only call t_replicate once.
>
> We may still end up sending all calls BACK through OpenSER again to terminate the call, as it knows the location of all the phones as well. This is easy from a simple dial plan perspective, but I'm not sure yet how some of the more advanced Asterisk features such as hints and ACD Queues will work when specifying @proxy for their location. I'd prefer to leave OpenSER out of the equation though.  Just trying to get it to do failure_route() etc to Asterisk is a huge pain considering the docs on it are soooo bad. Oh yeah.... check out the use of failure_route with t_relay() when sending calls to Asterisk in a redundant fashion. It seems to be working well so far. Failover is very fast. I also saw a post on the OpenSER list last night saying that the dispatcher (which we had looked at before) now supports failure_route too. We liked it initially because it can load balance on call-id and give you a roughly even call distribution.
>
> Don't try using realtime either.... it's hard to believe but you can't use it for sharing a common contact database between Asterisk systems. Digium have admitted to this.
>

 Asterisk is not a SIP proxy. That's why you see that it still knows
about the calls even though the media has been reinvited away.
Asterisk always knows about the state of its SIP calls given that it's
a B2BUA instead of a SIP proxy.

--
Bird's The Word Technologies, Inc.
http://www.btwtech.com/



More information about the asterisk-users mailing list