[Home]

Summary:ASTERISK-10594: Cannot detect correct extension number after several call-transfer.
Reporter:Adam Lee (adam lee)Labels:
Date Opened:2007-10-23 02:12:57Date Closed:2011-06-07 14:07:53
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Resources/res_features
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) Debug
( 1) extensions.conf
( 2) sip.conf
Description:I setup three phones and registered with my Asterisk as follows:
Phone A: exten # 111
Phone B: exten # 112
PHone C: exten # 113
Test Procedures:
Step 1. A & B are talking.
Step 2. B blind-transfers to C. (Now, A & C are talking and B hangs up)
Step 3. C attended -transfers to B. (Now, C & B are talking and A is in moh)
Step 4. C hangs up the call. (Now, A & B are talking)
Step 5. A transfers (either blind-transfer or attended-transfer) to anyone else.

I found that the step 5 would fail because Asterisk would not detect the whole extension number of transferee at this moment.
I logged some information as follows:
Jan  3 04:05:03 WARNING[2458]: channel.c:2416 set_format: Unable to find a codec
translation path from g729 to slin
Jan  3 04:05:03 WARNING[2458]: indications.c:122 playtones_alloc: Unable to set
'SIP/113-001481c8' to signed linear format (write)

   -- Unable to find extension '1' in context 'macro-InternalExt'
   -- Playing 'pbx-invalid' (language 'en')

   -- Stopped music on hold on Local/112@gContextGroup_1-0b87,1

 == Spawn extension (macro-InternalExt, s, 1) exited non-zero on 'Local/112@gCo
ntextGroup_1-0b87,2' in macro 'InternalExt'
 == Spawn extension (macro-InternalExt, s, 1) exited non-zero on 'Local/112@gCo

I was trying to transfer the call to C whose extension number is "113", however, Asterisk only detect the first digit and determine that there is no valid extension at that moment.

Thank you.
Comments:By: Joshua C. Colp (jcolp) 2007-10-23 10:21:16

Please provide the complete console output and the dialplan being used for this.

By: Adam Lee (adam lee) 2007-10-23 21:04:05

Hi,

I attached my configuration files, extensions.conf and sip.conf. The debug of my testing is attached as well.

Thanks.

By: Jason Parker (jparker) 2007-10-26 15:09:58

Just a theory, but it looks like what might be happening here, is that since you're doing nested macros (indirectly?), it ends up thinking that the caller of the macro is the main context (which it wants) - but in reality, it's just another macro.

so..something like this

111>gContextGroup_1>InternalExt>112
112>gContextGroup_1>InternalExtNoVoiceMail>113
111>[gContextGroup_1]>InternalExtNoVoiceMail>InternalExt>112

By: Tilghman Lesher (tilghman) 2007-12-05 17:40:37.000-0600

Adam Lee:  ping

By: Adam Lee (adam lee) 2007-12-05 20:51:33.000-0600

Hi,

I proved that the issue was due to the nested macro just like qwell said. I've rewritten my extensions.conf to handle the issue already. I think the issue could be closed. However, maybe it is a good idea that the dialplan still remembers the original extension number while entering any macro. It might be helpful to handle the nested macros problem. Thank you.

By: Tilghman Lesher (tilghman) 2007-12-28 09:34:25.000-0600

Closed by request of reporter.