I left something out on that last message, sorry. With r, not R, it will mask the message with ringing. I could then fail it over to another dial out, however from testing I've found that my users expect something to happen within 30 seconds (voicemail, pickup, etc.) The worse-case scenario would be using r a time of 60 seconds. I've been thinking of implementing this as a temp fix, but not something I want to leave in place.
On Wed, Oct 29, 2008 at 5:46 PM, arkda <[EMAIL PROTECTED]> wrote: > Thanks for the reply! > > I've played around with R to solve this (probably should have mentioned > that), however I wasn't able to make it work. The message is still played > (this message is from the provider). It will move to the next line in the > dialplan, but as soon as users hear the message they hang up. > > Since the progress code comes before actual audio is played to the caller > there has to be a way of catching this and dealing with it in the dialplan, > but nothing I've tried so far works. > > > On Wed, Oct 29, 2008 at 12:25 AM, Juan Rodríguez <[EMAIL PROTECTED]>wrote: > >> Try using a R or r on the Dial command, the R option is better for you in >> my opinion. >> i.e Dial(Zap/G2/1${EXTEN},30,R) or Dial(Zap/G2/1${EXTEN}|30|R) >> >> The R option is going to generate a ring tone when the callee indicates >> ringing and is going wait for an Answer. As Progress is just for early >> media, you wont get that message. >> >> For more info on the Dial command see: >> >> http://www.voip-info.org/wiki-Asterisk+cmd+Dial >> >> >> >> On Tue, Oct 28, 2008 at 6:56 PM, arkda <[EMAIL PROTECTED]> wrote: >> >>> Some additional information. >>> >>> I played with ${DIALEDSTATUS} in place of ${HANGUPCAUSE} and got an >>> unusual result: >>> >>> [Oct 28 16:50:54] WARNING[17503]: chan_sip.c:1950 retrans_pkt: Maximum >>> retries exceeded on transmission >>> NzJlOWI0NjI5NTMwMmEwZTExYzZiZTM5YWY4MDk0MzA. for seqno 2 (Critical Response) >>> >>> This occurs about a second after the user hangs up on the error message >>> being played from the provider. I have a feeling it's trying to execute the >>> next step in the dialplan but unable since the caller hung up. >>> >>> Thoughts, criticism, insults all welcome! >>> >>> >>> On Tue, Oct 28, 2008 at 12:53 PM, arkda <[EMAIL PROTECTED]> wrote: >>> >>>> Hi, >>>> >>>> I've ran into an issue with a PRI provider in a major metropolitan area >>>> that I haven't needed to deal with before and I was hoping someone might >>>> have some insight on how to handle this within the Asterisk dialplan. >>>> >>>> At this location users can't always tell if a number is long distance or >>>> not (there are a lot of area codes and prefixes in the vicinity). >>>> Additionally, users are required by the provider to dial the full 10 digit >>>> number even if a call is local since a local call could be for a few >>>> different area codes and prefixes. The problem is the provider requires a 1 >>>> in front of the number for long distance calls, but errors out if the call >>>> has a 1 in front and the call is local. >>>> >>>> As a result, users are complaining that they are constantly having to >>>> redial with or without the 1. I've tracked down this behavior when a call >>>> fails: >>>> >>>> -- Executing [EMAIL PROTECTED]:1] Set("SIP/user9-b696fb58", >>>> "GROUP(default)=dialpool") in new stack >>>> -- Executing [EMAIL PROTECTED]:2] GotoIf("SIP/user9-b696fb58", >>>> "1?5") in new stack >>>> -- Goto (internal,5551515121,5) >>>> -- Executing [EMAIL PROTECTED]:5] Set("SIP/user9-b696fb58", >>>> "GROUP(default)=dialpool") in new stack >>>> -- Executing [EMAIL PROTECTED]:6] Answer("SIP/user9-b696fb58", >>>> "") in new stack >>>> -- Executing [EMAIL PROTECTED]:7] Set("SIP/user9-b696fb58", >>>> "CALLERID(num)=5552223333") in new stack >>>> -- Executing [EMAIL PROTECTED]:8] Set("SIP/user9-b696fb58", >>>> "CALLERID(name)=HiThere") in new stack >>>> -- Executing [EMAIL PROTECTED]:9] NoOp("SIP/user9-b696fb58", >>>> "--out the pri--") in new stack >>>> -- Executing [EMAIL PROTECTED]:10] Dial("SIP/user9-b696fb58", >>>> "Zap/G2/15551515121") in new stack >>>> -- Requested transfer capability: 0x00 - SPEECH >>>> -- Called G2/15551515121 >>>> -- Zap/22-1 is proceeding passing it to SIP/user9-b696fb58 >>>> -- PROGRESS with cause code 31 received >>>> -- Zap/22-1 is making progress passing it to SIP/user9-b696fb58 >>>> -- Hungup 'Zap/22-1' >>>> == Spawn extension (internal, 5551515121, 10) exited non-zero on >>>> 'SIP/user9-b696fb58' >>>> >>>> The above call was a call that is considered local by the provider. The >>>> caller is then redirected to a message (by the provider) saying 'You do not >>>> need to dial a one or zero...' and the message repeats indefinitely. >>>> >>>> I'd like to figure out how to handle this in the dial plan so users do >>>> not even know anything happened. To test to see if I could stop the call >>>> progress and reroute it I've tried this so far: >>>> >>>> exten => _NXXXXXXXXX,1,Set(GROUP(default)=dialpool) >>>> exten => _NXXXXXXXXX,2,GotoIf($[${GROUP_COUNT([EMAIL PROTECTED])}<19]?5) >>>> exten => _NXXXXXXXXX,3,GotoIf($[${GROUP_COUNT([EMAIL PROTECTED] >>>> )}>18]?BLOCK) >>>> exten => _NXXXXXXXXX,4,NoOp >>>> exten => _NXXXXXXXXX,5,Set(GROUP(default)=dialpool) >>>> exten => _NXXXXXXXXX,6,Answer() >>>> exten => _NXXXXXXXXX,7,Set(CALLERID(num)=${CLR}) >>>> exten => _NXXXXXXXXX,8,Set(CALLERID(name)=HiThere) >>>> exten => _NXXXXXXXXX,9,NoOp(--out the pri--) >>>> ; Primary Dialout >>>> exten => _NXXXXXXXXX,10,Dial(Zap/G2/1${EXTEN}) >>>> exten => _NXXXXXXXXX,11,GotoIf,($[${HANGUPCAUSE} = 31]?YAY) >>>> exten => _NXXXXXXXXX,12,Hangup() >>>> ; Call limiter >>>> exten => _NXXXXXXXXX,n(BLOCK),Answer() >>>> exten => _NXXXXXXXXX,n(BLOCK),Playback(all-circuits-busy-now) >>>> exten => _NXXXXXXXXX,n(BLOCK),Playback(pls-try-call-later) >>>> exten => _NXXXXXXXXX,n(BLOCK),Hangup() >>>> ; 1 tester >>>> exten => _NXXXXXXXXX,n(YAY),Answer() >>>> exten => _NXXXXXXXXX,n(YAY),Playback(beep) >>>> exten => _NXXXXXXXXX,n(YAY),Hangup() >>>> >>>> It doesn't work. The user simply hangs up when the message is heard and >>>> the next line in the dialplan isn't followed. How can I detect that a call >>>> has received a progress code 31 then reroute it to another extension? From >>>> what I found on voip-info.org ( >>>> http://www.voip-info.org/wiki/index.php?page=Asterisk+variable+hangupcause) >>>> this should work. What am I missing? >>>> >>>> The server is running Asterisk 1.4.21.1, zaptel 1.4.11, libpri 1.4.5, >>>> compiled from source. >>>> >>>> Thanks in advance! >>>> >>> >>> >>> _______________________________________________ >>> -- Bandwidth and Colocation Provided by http://www.api-digital.com -- >>> >>> asterisk-users mailing list >>> To UNSUBSCRIBE or update options visit: >>> http://lists.digium.com/mailman/listinfo/asterisk-users >>> >> >> >> >> -- >> Juan E. Rodríguez >> Cel. 829-886-5565 >> Work: 809-724-9227 >> >> _______________________________________________ >> -- Bandwidth and Colocation Provided by http://www.api-digital.com -- >> >> asterisk-users mailing list >> To UNSUBSCRIBE or update options visit: >> http://lists.digium.com/mailman/listinfo/asterisk-users >> > >
_______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users