Transfer() is causing Asterisk to crash on both the 1.2 and 1.4 versions. Here is my dialplan:
When a call comes in it enters the _X. extension and dials a SIP system at 10.10.1.95. The SIP systems then refers the call to 18529999999999, at which point the call enters the _1852XXXXXXXXXX extension. The transfer completes, but crashes the Asterisk system every 2-3 calls. The extenion plan and warnings I see are printed below.
Perhaps consider using the Dial command instead of using Transfer.
There are very few circumstances where you would want to use Transfer instead of Dial. I don’t know your situation so I can’t say for sure, but you may want to give it a try and see if it fixes the problem.
I need to do a SIP REFER and release the call from Asterisk.
I think the problem has to do with the incoming SIP refer. Asterisk starts by dialing a system, and that systems does its own Transfer() which Asterisk may not interpret well.
I had attempted to do a similar project to yours a while back, and had tons of problems with it. I wanted one Asterisk box to answer the call and intelligently transfer it to another box, removing itself from the loop for efficiency.
It because too much of a pain to get the machine out of the loop, so I just compromised and left the asterisk box in the loop and turned on “canreinvite” in sip.conf, which routes the media (SDP) directly between endpoints.
I have heard of some people using another program called Sip Express Router (SER) to do what you are describing, but I don’t really know much more about it.
[quote]SIP Express Router (ser) is a high-performance, configurable, free SIP ( RFC3261 ) server . It can act as registrar, proxy or redirect server. SER features an application-server interface, presence support, SMS gateway, SIMPLE2Jabber gateway, RADIUS/syslog accounting and authorization, server status monitoring, FCP security, etc. Web-based user provisioning, serweb, available.
Its performance allows it to deal with operational burdens, such as broken network components, attacks, power-up reboots and rapidly growing user population.
SER’s configuration ability meets needs of a whole range of scenarios including small-office use, enterprise PBX replacements and carrier services. [/quote]
I believe that SER is all written in C and is reported to be very fast and very efficient. While SipX is written with a mix of C++ and Java and has more demanding hardware requirements.