[Home]

Summary:ASTERISK-17295: Call Transfer/ Call Forwarding not working
Reporter:Dinesh Ramjuttun (din3sh)Labels:
Date Opened:2011-01-27 04:25:57.000-0600Date Closed:2011-06-07 14:00:25
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Applications/app_dial
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Here is the scenario. Works with asterisk 1.4.x but not asterisk 1.8.2.3.

Phone A, Phone B, Phone C are in same context; local.

====Call Transfer====
(PhoneA) ----Calls-----> (PhoneB)-----Hits *2 for atxfer to phone C------>tranfer does not complete

*****below is log from CLI******

   -- Executing [7594@local:1] Set("SIP/7591-00000008", "CDR(accountcode)=Internal") in new stack
   -- Executing [7594@local:2] Dial("SIP/7591-00000008", "SIP/7594,15,tTo") in new stack
 == Using SIP RTP TOS bits 184
 == Using SIP RTP CoS mark 5
   -- Called 7594
   -- SIP/7594-00000009 is ringing
   -- SIP/7594-00000009 answered SIP/7591-00000008
   -- Started music on hold, class 'default', on SIP/7591-00000008
   -- <SIP/7594-00000009> Playing 'pbx-transfer.gsm' (language 'en')
[Jan 27 14:09:48] WARNING[12440]: channel.c:5414 ast_request: No channel type registered for 'Local'
[Jan 27 14:09:48] NOTICE[12440]: features.c:2771 feature_request_and_dial: Unable to request channel Local/7592@local/n
   -- Stopped music on hold on SIP/7591-00000008
   -- <SIP/7594-00000009> Playing 'beeperr.gsm' (language 'en')
   -- <SIP/7594-00000009> Playing 'beep.gsm' (language 'en')


As you can see instead of calling channel SIP/7592@local/n it is trying to call non existent channel local/7592

========Call Forward===========
Say PhoneB has Call Forwarding feature and has fowarded all calls to PhoneC.
If PhoneA calls PhoneB, the call forwarding is broken.
Again asterisk tries to call Channel type "local" instead of SIP.

****below is log from CLI****

   -- Executing [7594@local:1] Set("SIP/7591-00000002", "CDR(accountcode)=Internal") in new stack
   -- Executing [7594@local:2] Dial("SIP/7591-00000002", "SIP/7594,15,tTo") in new stack
 == Using SIP RTP TOS bits 184
 == Using SIP RTP CoS mark 5
   -- Called 7594
   -- Got SIP response 302 "Moved Temporarily" back from 192.168.6.148:5060
   -- Now forwarding SIP/7591-00000002 to 'Local/7593@local' (thanks to SIP/7594-00000003)
[Jan 27 13:43:27] WARNING[12199]: channel.c:5414 ast_request: No channel type registered for 'Local'
[Jan 27 13:43:27] NOTICE[12199]: app_dial.c:846 do_forward: Forwarding failed to create channel to dial 'Local/7593@local' (cause = 66)
 == Everyone is busy/congested at this time (1:0/0/1)



Is this a bug or my dialplan is incorrect??

Part of dialplan

exten => _75xx,1,Set(CDR(accountcode)=Internal)
exten => _75xx,n,Dial(SIP/${EXTEN},15,tTo)
exten => _75xx,n,Answer()
exten => _75xx,n,Queue(returnedcalls,tTr,,,75)
exten => _75xx,n,Answer()
exten => _75xx,n,Hangup(16)

****** ADDITIONAL INFORMATION ******

Centos 5.5 x86_64
kernel = 2.6.18-194.32.1.el5
asterisk =1.8.2.3
dahdi = 2.4.0
libpri = 1.4.11.4
E1 card = TE121BF
IP phones = 120 SIP Cisco phones
Comments:By: Richard Mudgett (rmudgett) 2011-01-27 10:23:07.000-0600

It looks like you need to load chan_local.  The transfer works using local channels.

By: Dinesh Ramjuttun (din3sh) 2011-01-27 14:10:06.000-0600

having this problem despite having chan_local.so already loaded in modules.conf

By: Richard Mudgett (rmudgett) 2011-01-27 15:32:01.000-0600

Did chan_local have problems loading?  The warning saying "local" not registered implies that chan_local is not loaded.

By: Dinesh Ramjuttun (din3sh) 2011-01-27 22:13:20.000-0600

autoload is set to "yes" in modules.conf. With this setting all the other modules loaded correctly but I couldn't see "chan_local.so" load in CLI.
I have to explicitly set
load=> chan_local.so for this module to load. Now I can see on the CLI
[Jan 28 07:53:11] VERBOSE[21237] loader.c:  chan_local.so => (Local Proxy Channel (Note: used internally by other modules))
The Call Forwarding/Transfer seem to work now.

My question is if the other modules do load on autoload=yes, was the default load setting of chan_local.so set to "noload"?? Or am I doing something wrong?
Do I need to explicitly load all needed modules with "load=>" or "preload=>"?

By: Richard Mudgett (rmudgett) 2011-01-28 10:22:10.000-0600

I have not had to do anything special for loading modules so I cannot say.  I have just been using the default modules.conf file modules.conf.sample.