Asterisk Transfer()

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.

exten => _1852XXXXXXXXXX,1,Answer()
exten => _1852XXXXXXXXXX,n,Transfer(SIP/${EXTEN}@PROVIDER)
exten => _1852XXXXXXXXXX,n,Hangup()

exten => _X.,1,Answer()
exten => _X.,n,Dial(SIP/transferTestPROVIDER@10.10.1.95)
exten => _X.,n,Hangup()

[Dec 10 13:46:54] WARNING[5072]: chan_sip.c:11997 handle_response: Remote host can’t match request NOTIFY to call ‘4155de7e11251806114397537a39791a@10.10.1.71’. Giving up.
[Dec 10 13:46:54] WARNING[5072]: chan_sip.c:11997 handle_response: Remote host can’t match request NOTIFY to call ‘4155de7e11251806114397537a39791a@10.10.1.71’. Giving up.
[Dec 10 13:47:05] WARNING[5072]: chan_sip.c:11991 handle_response: Remote host can’t match request BYE to call ‘1894f78e3575d545405ef7673002e80c@10.10.1.71’. Giving up.

Thanks for any advice.

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.

Dan

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.

http://www.voip-info.org/wiki/index.php?page=SIP+Express+Router

If you can think of a nicer solution, I’d be interested to hear it.

Dan

Is SER similar to SipX?

[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.

Dan