Summary: | ASTERISK-07248: recursive forward leads asterisk to lock channels | ||
Reporter: | caspy (caspy) | Labels: | |
Date Opened: | 2006-06-29 04:28:08 | Date Closed: | 2006-09-18 11:13:04 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) asterisk_bt_20060629_1.txt | |
Description: | in extentions.conf i have such group call: exten => 1276,1,Goto(6276|1) exten => 6276,1,Macro(groupcall|SIP/1473&SIP/1474&SIP/1475) where 'groupcall' macro is rather simple thing: [macro-groupcall] exten => s,1,NoOp(Dialing ${ARG1}) exten => s,n,Set(CALLERID(name)= ** ${CALLERID(name)}) exten => s,n,GotoIf($["${ivr}" != ""]?dial) exten => s,n,Set(DIALOPT=TW) exten => s,n(dial),Dial(${ARG1}|${LTIMEOUT}|tw${DIALOPT}L(${DUR_INT})) exten => s,n,Answer exten => s,n,Playtones(Busy) exten => s,n,Wait(${ERRTIMEOUT}) exten => s,n,Hangup One of my peoples setuped a forward on 1473 hardphone to 1276 number, thus creating a loop. But Asterisk got a lock(?) in channels. In attached backtrace you can see threads 8 and 9 in strange state. This is a result of calling to 6276 extention (2 call -> 2 treads). Issuing 'show channels' i see 2 excess call in "active calls" counter, and warning messages about locks: Jun 29 13:21:00 WARNING[1513]: channel.c:787 channel_find_locked: Avoided deadlock for '0x82b99d0', 10 retries! | ||
Comments: | By: Serge Vecher (serge-v) 2006-06-29 08:51:06 There are unfortunately many creative ways you could lock asterisk up via the dialplan. Not sure if this is 'major' or specific to chan_sip. By: caspy (caspy) 2006-06-29 08:58:07 vechers, it is not a dialplan lock, it is user-speciefic lock. any user can setup looped forward from his\her phone. anyway, lock in threads is not a good idea. in case of zap-originated call we will get locked zap channel, and then 'Ring requested...' problem (like in 6997) with fully unavailalbe E1 span. By: Olle Johansson (oej) 2006-08-07 10:17:41 How did the phone instruct asterisk to do call forward? By: jogi (jogi) 2006-08-07 12:25:15 I am facing exactly the same problem. If the user redirect the calls on his phone to a group in which his phone belongs too, than * loops forever. Is it possible to turn off the redirect option in the dial-command? By: caspy (caspy) 2006-08-15 10:11:14 $ grep -B1 1473 extensions.conf exten => 7276,1,Goto(6276|1) exten => 6276,1,Macro(groupcall|SIP/1473&SIP/1474&SIP/1475) sip debug for 1473, while calling to 1276 from 1441: We're at 10.15.1.2 port 15342 Video is at 10.15.1.2 port 12390 Adding codec 0x4 (ulaw) to SDP Adding codec 0x8 (alaw) to SDP Adding codec 0x2 (gsm) to SDP Adding codec 0x80000 (h263) to SDP Adding non-codec 0x1 (telephone-event) to SDP 13 headers, 14 lines Reliably Transmitting (NAT) to 10.15.7.251:5060: INVITE sip:1473@10.15.7.251:5060;user=phone;transport=udp SIP/2.0 Via: SIP/2.0/UDP 10.15.1.2:5060;branch=z9hG4bK0ebf529d;rport From: " ** name" <sip:1441@masterhost.ru>;tag=as75496f2c To: <sip:1473@10.15.7.251:5060;user=phone;transport=udp> Contact: <sip:1441@10.15.1.2> Call-ID: 64dce77a4457dd726510f76d605616be@masterhost.ru CSeq: 102 INVITE User-Agent: Asterisk PBX Max-Forwards: 70 Date: Tue, 15 Aug 2006 14:59:56 GMT Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Content-Type: application/sdp Content-Length: 305 v=0 o=root 9008 9008 IN IP4 10.15.1.2 s=session c=IN IP4 10.15.1.2 t=0 0 m=audio 15342 RTP/AVP 0 8 3 101 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:3 GSM/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=silenceSupp:off - - - - m=video 12390 RTP/AVP 34 a=rtpmap:34 H263/90000 --- <-- SIP read from 10.15.7.251:5060: SIP/2.0 302 Moved Temporarily Via: SIP/2.0/UDP 10.15.1.2:5060;branch=z9hG4bK0ebf529d;rport From: " ** name" <sip:1441@masterhost.ru>;tag=as75496f2c To: <sip:1473@10.15.7.251:5060;user=phone;transport=udp>;tag=0015c6ff66af06f310f3f0fc-12dd7c78 Call-ID: 64dce77a4457dd726510f76d605616be@masterhost.ru Date: Tue, 15 Aug 2006 14:59:56 GMT CSeq: 102 INVITE Server: Cisco-CP7940G/8.0 Contact: <sip:1276@10.15.1.2:5060> Diversion: "1473" <sip:1473@10.15.7.251>;reason=unconditional;privacy=off;screen=yes Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE Content-Length: 0 --- (12 headers 0 lines)--- Transmitting (NAT) to 10.15.7.251:5060: ACK sip:1473@10.15.7.251:5060;user=phone;transport=udp SIP/2.0 Via: SIP/2.0/UDP 10.15.1.2:5060;branch=z9hG4bK0ebf529d;rport From: " ** name" <sip:1441@masterhost.ru>;tag=as75496f2c To: <sip:1473@10.15.7.251:5060;user=phone;transport=udp>;tag=0015c6ff66af06f310f3f0fc-12dd7c78 Contact: <sip:1441@10.15.1.2> Call-ID: 64dce77a4457dd726510f76d605616be@masterhost.ru CSeq: 102 ACK User-Agent: Asterisk PBX Max-Forwards: 70 Content-Length: 0 --- Destroying call '64dce77a4457dd726510f76d605616be@masterhost.ru' and so on, looping.. By: Serge Vecher (serge-v) 2006-08-25 11:29:09 caspy: is this still an issue in 1.2.11? Also, please answer oej's question in note 0049929. By: Serge Vecher (serge-v) 2006-09-18 11:13:03 no response from original poster. |