Cannot Transfer a Transferred Call: possible infinite loop

I’m trying to get transfering to work properly. Say I have a Receptionist and 3 desk phones. I want the ability for the Receptionist to transfer a call to a deskphone, then have them transfer it back to the receptionist. It seems like anytime we try to do a transfer back it gives us an error:

Transfers: Macro(): possible infinite loop detected. Returning early.

It seems to be a macro bug. I recall doing this on old A@H installations, but I could be wrong.
It’s just busying out when I try to make the last transfer back.

Anyone have any insight?

Let me know if you need any more info.

Thanks in advance,

Keith

Log is shown below:

Jul 18 14:21:08 VERBOSE[19090] logger.c: – Attempting native bridge of SIP/1100-fba1 and SIP/1102-84e1
Jul 18 14:21:10 VERBOSE[18834] logger.c: – Started music on hold, class ‘default’, on SIP/1100-fba1
Jul 18 14:21:10 DEBUG[18834] channel.c: Scheduling timer at 160 sample intervals
Jul 18 14:21:10 DEBUG[18834] chan_sip.c: Stopping retransmission on ‘[email protected]’ of Response 2: Match Found
Jul 18 14:21:12 DEBUG[18834] chan_sip.c: Unsupervised transfer to (Refer-To): 1103
Jul 18 14:21:12 DEBUG[18834] chan_sip.c: Transferred by (Referred-by: ) 1102
Jul 18 14:21:12 DEBUG[18834] chan_sip.c: Transfer Contact Info sip:[email protected]:7278 (REFER_CONTACT)
Jul 18 14:21:12 DEBUG[18834] chan_sip.c: 202 Accepted (blind)
Jul 18 14:21:12 DEBUG[18834] chan_sip.c: Got SIP blind transfer, applying to 'SIP/1100-fba1’
Jul 18 14:21:12 VERBOSE[18834] logger.c: – Stopped music on hold on SIP/1100-fba1
Jul 18 14:21:12 DEBUG[18834] channel.c: Scheduling timer at 0 sample intervals
Jul 18 14:21:12 DEBUG[19090] channel.c: Didn’t get a frame from channel: SIP/1100-fba1
Jul 18 14:21:12 DEBUG[19090] channel.c: Bridge stops bridging channels SIP/1100-fba1 and SIP/1102-84e1
Jul 18 14:21:12 DEBUG[19090] chan_sip.c: update_call_counter(1102) - decrement call limit counter
Jul 18 14:21:12 DEBUG[19090] app_dial.c: Exiting with DIALSTATUS=ANSWER.
Jul 18 14:21:12 VERBOSE[19090] logger.c: == Spawn extension (from-internal, 1103, 0) exited non-zero on ‘SIP/1100-fba1’ in macro 'dial’
Jul 18 14:21:12 VERBOSE[19090] logger.c: == Spawn extension (from-internal, 1103, 0) exited non-zero on ‘SIP/1100-fba1’ in macro 'exten-vm’
Jul 18 14:21:12 VERBOSE[19090] logger.c: == Spawn extension (from-internal, 1103, 0) exited non-zero on 'SIP/1100-fba1’
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing Macro(“SIP/1100-fba1”, “exten-vm|novm|1103”) in new stack
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing Macro(“SIP/1100-fba1”, “user-callerid”) in new stack
Jul 18 14:21:12 ERROR[19090] app_macro.c: Macro(): possible infinite loop detected. Returning early.
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing Set(“SIP/1100-fba1”, “FROMCONTEXT=exten-vm”) in new stack
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing Set(“SIP/1100-fba1”, “VMBOX=novm”) in new stack
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing Set(“SIP/1100-fba1”, “EXTTOCALL=1103”) in new stack
Jul 18 14:21:12 DEBUG[19090] db.c: Unable to find key ‘1103’ in family 'CFU’
Jul 18 14:21:12 DEBUG[19090] func_db.c: DB: CFU/1103 not found in database.
Jul 18 14:21:12 DEBUG[19090] pbx.c: Function result is ''
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing Set(“SIP/1100-fba1”, “CFUEXT=”) in new stack
Jul 18 14:21:12 DEBUG[19090] pbx.c: Expression result is '0’
Jul 18 14:21:12 DEBUG[19090] pbx.c: Expression result is '0’
Jul 18 14:21:12 DEBUG[19090] pbx.c: Expression result is '0’
Jul 18 14:21:12 DEBUG[19090] pbx.c: Function result is ''
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing Set(“SIP/1100-fba1”, “RT=”) in new stack
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing Macro(“SIP/1100-fba1”, “record-enable|1103|IN”) in new stack
Jul 18 14:21:12 ERROR[19090] app_macro.c: Macro(): possible infinite loop detected. Returning early.
Jul 18 14:21:12 DEBUG[19090] pbx.c: Expression result is '0’
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing GotoIf(“SIP/1100-fba1”, “0?dolocaldial|1”) in new stack
Jul 18 14:21:12 DEBUG[19090] pbx.c: Not taking any branch
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing Macro(“SIP/1100-fba1”, “dial||tr|1103”) in new stack
Jul 18 14:21:12 ERROR[19090] app_macro.c: Macro(): possible infinite loop detected. Returning early.
Jul 18 14:21:12 DEBUG[19090] pbx.c: Expression result is '0’
Jul 18 14:21:12 DEBUG[19090] pbx.c: Expression result is ‘0’
Jul 18 14:21:12 DEBUG[19090] pbx.c: Expression result is ‘0’
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing GosubIf(“SIP/1100-fba1”, “0?docfu|1”) in new stack
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing NoOp(“SIP/1100-fba1”, “Voicemail is novm”) in new stack
Jul 18 14:21:12 DEBUG[19090] pbx.c: Expression result is ‘1’
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing GotoIf(“SIP/1100-fba1”, “1?s-ANSWER|1”) in new stack
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Goto (macro-exten-vm,s-ANSWER,1)
Jul 18 14:21:12 VERBOSE[19090] logger.c: – Executing Congestion(“SIP/1100-fba1”, “”) in new stack
Jul 18 14:21:12 DEBUG[19090] channel.c: Driver for channel ‘SIP/1100-fba1’ does not support indication 8, emulating it
Jul 18 14:21:12 DEBUG[19090] channel.c: Scheduling timer at 160 sample intervals
Jul 18 14:21:12 DEBUG[18834] chan_sip.c: Stopping retransmission on ‘[email protected]’ of Request 103: Match Found
Jul 18 14:21:12 DEBUG[18834] chan_sip.c: Stopping retransmission on ‘[email protected]’ of Request 104: Match Found
Jul 18 14:21:15 DEBUG[18834] chan_sip.c: Stopping retransmission on ‘[email protected]’ of Request 102: Match Found
Jul 18 14:21:15 WARNING[18834] chan_sip.c: Host ‘10.100.10.23’ does not implement ‘NOTIFY’
Jul 18 14:21:18 DEBUG[19090] channel.c: Scheduling timer at 0 sample intervals
Jul 18 14:21:18 VERBOSE[19090] logger.c: == Spawn extension (macro-exten-vm, s-ANSWER, 1) exited non-zero on ‘SIP/1100-fba1’ in macro ‘exten-vm

Jul 18 14:21:18 VERBOSE[19090] logger.c: == Spawn extension (macro-exten-vm, s-ANSWER, 1) exited non-zero on ‘SIP/1100-fba1’
Jul 18 14:21:18 DEBUG[19090] cdr_addon_mysql.c: cdr_mysql: inserting a CDR record.
Jul 18 14:21:18 DEBUG[19090] cdr_addon_mysql.c: cdr_mysql: SQL command as follows: INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstcha
nnel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,uniqueid) VALUES (‘2006-07-18 14:21:06’,’“Shaun 1100” <1100>’,‘1100’,‘1
102’,‘from-internal’, ‘SIP/1100-fba1’,‘SIP/1102-84e1’,‘Congestion’,’’,12,10,‘ANSWERED’,3,’’,‘1153257644.0’)

BUMP!

Anyone care to comment?

I have this problem as well. I found where it detect the ‘infinite loop’, what that really means is that the depth of macros being executed is larger than 7.

I looked up the message in a asterisk development board and this is a hard limit enforced by asterisk due to stack limitations, so the limit cant be changed.

They suggest using GoSub’s rather than Macros.

Any help or a fix for this would be helpful since we are running into this problem a lot.