[App_rpt-users] Reverse AutoPatch

JJC cummingsj at gmail.com
Fri Apr 1 04:53:53 UTC 2016


Configs might be useful:

extensions.conf:
[custom-gv-answer]
exten => _X.,1,Answer()
exten => _X.,n,Wait(1)
exten => _X.,n,Playback(hello-world)
exten => _X.,n,Rpt(43265|Rrpt/node:NODE:rpt/in-call:digits/0:PARKED|120)
exten => _X.,n,Hangup

On Thu, Mar 31, 2016 at 10:52 PM, JJC <cummingsj at gmail.com> wrote:

> Got maybe a little further, Asterisk now answers the call but no joy on
> accessing the parked call.. I changed my dialup and dialdown to 6 and 0
> respectively... when I try to pickup the parked call just a fast busy and
> nothing on the SIP/phone side:
>
> repeater*CLI>
>     -- Executing [43265 at custom-gv-answer:1] Answer("SIP/FOOBAR-75b021c0",
> "") in new stack
>     -- Executing [43265 at custom-gv-answer:2] Wait("SIP/FOOBAR-75b021c0",
> "1") in new stack
>     -- Executing [43265 at custom-gv-answer:3]
> Playback("SIP/FOOBAR-75b021c0", "hello-world") in new stack
>     -- <SIP/FOOBAR-75b021c0> Playing 'hello-world' (language 'en')
>     -- Executing [43265 at custom-gv-answer:4] Rpt("SIP/FOOBAR-75b021c0",
> "43265|Rrpt/node:NODE:rpt/in-call:digits/0:PARKED|120") in new stack
>     -- Return Context: (custom-gv-answer,43265,5) ID: 0
>     -- Music class default requested but no musiconhold loaded.
>   == Parked SIP/FOOBAR-75b021c0 on 701 at parkedcalls. Will timeout back to
> extension [custom-gv-answer] 43265, 5 in 45 seconds
>     -- Added extension '701' priority 1 to parkedcalls
>     -- Call Parking Called, lot: 701, timeout: 0, context: (null)
>     -- Music class default requested but no musiconhold loaded.
>     -- Music class default requested but no musiconhold loaded.
>     -- Music class default requested but no musiconhold loaded.
>     -- <DAHDI/pseudo-945920464> Playing 'rpt/node' (language 'en')
>     -- <DAHDI/pseudo-945920464> Playing 'digits/4' (language 'en')
>     -- <DAHDI/pseudo-945920464> Playing 'digits/3' (language 'en')
>     -- <DAHDI/pseudo-945920464> Playing 'digits/2' (language 'en')
>     -- <DAHDI/pseudo-945920464> Playing 'digits/6' (language 'en')
>     -- <DAHDI/pseudo-945920464> Playing 'digits/5' (language 'en')
>     -- <DAHDI/pseudo-945920464> Playing 'rpt/in-call' (language 'en')
>     -- <DAHDI/pseudo-945920464> Playing 'digits/0' (language 'en')
>     -- <DAHDI/pseudo-945920464> Playing 'digits/7' (language 'en')
>     -- <DAHDI/pseudo-945920464> Playing 'digits/0' (language 'en')
>     -- <DAHDI/pseudo-945920464> Playing 'digits/1' (language 'en')
>     -- Hungup 'DAHDI/pseudo-945920464'
> repeater*CLI> rpt fun 43265 *60701
> repeater*CLI> rpt fun 43265 *0
>     -- Hungup 'DAHDI/pseudo-1484973047'
>     -- Hungup 'DAHDI/pseudo-2111197300'
>     -- <DAHDI/pseudo-58576863> Playing 'rpt/callterminated' (language 'en')
>     -- Hungup 'DAHDI/pseudo-58576863'
>
> On Thu, Mar 31, 2016 at 3:31 PM, JJC <cummingsj at gmail.com> wrote:
>
>> I made a few changes and managed to crash asterisk:
>>
>> [Mar 31 15:27:42] WARNING[9822] channel.c: Channel type 'NULL' does not
>> have a fixup routine (for Parked/SIP/<obfuscated>-76902158<ZOMBIE>)!  Bad
>> things may happen.
>> [Mar 31 15:27:42] WARNING[9822] channel.c: PBX may not have been
>> terminated properly on
>> 'Parked/Parked/SIP/<obfuscated>-76902158<ZOMBIE><ZOMBIE>'
>> [Mar 31 15:27:42] WARNING[560] channel.c: Exception flag set on
>> 'SIP/<obfuscated>-76902158', but no exception handler
>>
>> [custom-gv-answer]
>> exten => s,1,Answer()
>> exten => s,n,Goto(from-gv,${EXTEN},1)
>>
>> [from-gv]
>> exten => _.,1,Rpt(43265|Rrpt/node:NODE:rpt/in-call:digits/0:PARKED|120) 75
>> exten => _.,n,Hangup
>>
>> On Thu, Mar 31, 2016 at 3:29 PM, JJC <cummingsj at gmail.com> wrote:
>>
>>> As I observe the logs, that is not a hangup of the SIP call inbound,
>>> it's a hangup of the audio playback through the radio... I should be able
>>> to dial *610701 during the announcement (and well before the peer gets
>>> "tired of being parked".. but all I get is a fast busy when I try to do
>>> this and the phone continues to ring...
>>>
>>>
>>> On Thu, Mar 31, 2016 at 2:49 PM, JJC <cummingsj at gmail.com> wrote:
>>>
>>>> I removed the hangup, just for grins, dialplan now looks like this:
>>>>>
>>>>>
>>>>> [ Context 'custom-gv-answer' created by 'pbx_config' ]
>>>>>   's' =>            1. Answer()
>>>>> [pbx_config]
>>>>>                     2.
>>>>> Rpt(43265|Rrpt/node:NODE:rpt/in-call:digits/0:PARKED|120) [pbx_config]
>>>>> -= 1 extension (2 priorities) in 1 context. =-
>>>>
>>>>
>>>> Unfortunately it still hangs up right after announcing the extension,
>>>> I'm searching for some type of a timeout value or similar now.
>>>>
>>>> On Thu, Mar 31, 2016 at 2:39 PM, Jim Duuuude <telesistant at hotmail.com>
>>>> wrote:
>>>>
>>>>> Try putting an Answer() in the custom-gv-answer dialplan before the
>>>>> "Rpt" line.
>>>>>
>>>>>
>>>>> It is supposed to answer in silence, park the call, and wait for the
>>>>> radio user to un-park it. The idea,
>>>>>
>>>>> is that in your dialplan, you do whatever you deem appropriate to tell
>>>>> the user what is going on, with
>>>>>
>>>>> a recording or something.
>>>>>
>>>>>
>>>>> ------------------------------
>>>>> *From:* JJC <cummingsj at gmail.com>
>>>>> *Sent:* Thursday, March 31, 2016 1:18 PM
>>>>>
>>>>> *To:* Jim Duuuude
>>>>> *Cc:* app_rpt-users at ohnosec.org
>>>>> *Subject:* Re: [App_rpt-users] Reverse AutoPatch
>>>>>
>>>>> It continues to ring on my end and it notes a disconnect in my SIP
>>>>> debug when I hangup even after DTMF etc...
>>>>>
>>>>> On Thu, Mar 31, 2016 at 2:16 PM, Jim Duuuude <telesistant at hotmail.com>
>>>>> wrote:
>>>>>
>>>>>> It looks to me like the inbound call hung up before you even hit the
>>>>>> first DTMF tone on the radio side of things.
>>>>>>
>>>>>>
>>>>>> ------------------------------
>>>>>> *From:* JJC <cummingsj at gmail.com>
>>>>>> *Sent:* Thursday, March 31, 2016 1:11 PM
>>>>>>
>>>>>> *To:* Jim Duuuude
>>>>>> *Cc:* app_rpt-users at ohnosec.org
>>>>>> *Subject:* Re: [App_rpt-users] Reverse AutoPatch
>>>>>>
>>>>>>   == Parked SIP/<obfuscated>-76904e08 on 701 at parkedcalls. Will
>>>>>> timeout back to extension [custom-gv-answer] s, 2 in 45 seconds
>>>>>>     -- Added extension '701' priority 1 to parkedcalls
>>>>>>     -- Call Parking Called, lot: 701, timeout: 0, context: (null)
>>>>>>     -- Music class default requested but no musiconhold loaded.
>>>>>>     -- Music class default requested but no musiconhold loaded.
>>>>>>     -- <DAHDI/pseudo-1661934131> Playing 'rpt/node' (language 'en')
>>>>>>     -- <DAHDI/pseudo-1661934131> Playing 'digits/4' (language 'en')
>>>>>>     -- <DAHDI/pseudo-1661934131> Playing 'digits/3' (language 'en')
>>>>>>     -- <DAHDI/pseudo-1661934131> Playing 'digits/2' (language 'en')
>>>>>>     -- <DAHDI/pseudo-1661934131> Playing 'digits/6' (language 'en')
>>>>>>     -- <DAHDI/pseudo-1661934131> Playing 'digits/5' (language 'en')
>>>>>>     -- <DAHDI/pseudo-1661934131> Playing 'rpt/in-call' (language 'en')
>>>>>>     -- <DAHDI/pseudo-1661934131> Playing 'digits/0' (language 'en')
>>>>>>     -- <DAHDI/pseudo-1661934131> Playing 'digits/7' (language 'en')
>>>>>>     -- <DAHDI/pseudo-1661934131> Playing 'digits/0' (language 'en')
>>>>>>     -- <DAHDI/pseudo-1661934131> Playing 'digits/1' (language 'en')
>>>>>>     -- Hungup 'DAHDI/pseudo-1661934131'
>>>>>> [Mar 31 14:09:08] NOTICE[577]: chan_usbradio.c:3064 usbradio_read:
>>>>>> Got DTMF char * duration 84 ms
>>>>>> [Mar 31 14:09:08] NOTICE[577]: chan_usbradio.c:3064 usbradio_read:
>>>>>> Got DTMF char 6 duration 85 ms
>>>>>> [Mar 31 14:09:09] NOTICE[577]: chan_usbradio.c:3064 usbradio_read:
>>>>>> Got DTMF char 1 duration 86 ms
>>>>>> [Mar 31 14:09:09] NOTICE[577]: chan_usbradio.c:3064 usbradio_read:
>>>>>> Got DTMF char 0 duration 85 ms
>>>>>> [Mar 31 14:09:10] NOTICE[577]: chan_usbradio.c:3064 usbradio_read:
>>>>>> Got DTMF char 7 duration 86 ms
>>>>>> [Mar 31 14:09:10] NOTICE[577]: chan_usbradio.c:3064 usbradio_read:
>>>>>> Got DTMF char 0 duration 84 ms
>>>>>> [Mar 31 14:09:10] NOTICE[577]: chan_usbradio.c:3064 usbradio_read:
>>>>>> Got DTMF char 1 duration 127 ms
>>>>>>     -- Hungup 'DAHDI/pseudo-176387851'
>>>>>>   == SIP/<obfuscated>-76904e08 got tired of being parked
>>>>>> [Mar 31 14:09:23] NOTICE[577]: chan_usbradio.c:3064 usbradio_read:
>>>>>> Got DTMF char * duration 86 ms
>>>>>> [Mar 31 14:09:23] NOTICE[577]: chan_usbradio.c:3064 usbradio_read:
>>>>>> Got DTMF char 6 duration 79 ms
>>>>>> [Mar 31 14:09:24] NOTICE[577]: chan_usbradio.c:3064 usbradio_read:
>>>>>> Got DTMF char 2 duration 106 ms
>>>>>>     -- Hungup 'DAHDI/pseudo-959605867'
>>>>>>     -- Hungup 'DAHDI/pseudo-1384624454'
>>>>>>     -- Hungup 'DAHDI/pseudo-1284356810'
>>>>>>
>>>>>> On Thu, Mar 31, 2016 at 2:05 PM, Jim Duuuude <telesistant at hotmail.com
>>>>>> > wrote:
>>>>>>
>>>>>>> Then it should be "*610701", since the autopatch acccess is *61, in
>>>>>>> your case.
>>>>>>>
>>>>>>>
>>>>>>> Could you "set verbose 4", make a couple of calls, attempting to
>>>>>>> answer, and send me the output so
>>>>>>>
>>>>>>> that I can see what it is doing?
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------
>>>>>>> *From:* JJC <cummingsj at gmail.com>
>>>>>>> *Sent:* Thursday, March 31, 2016 9:08 AM
>>>>>>>
>>>>>>> *To:* Jim Duuuude
>>>>>>> *Cc:* app_rpt-users at ohnosec.org
>>>>>>> *Subject:* Re: [App_rpt-users] Reverse AutoPatch
>>>>>>>
>>>>>>> This is what I had thought from what I could find online.  My
>>>>>>> features.conf is the default and I have not modified the section of the
>>>>>>> extensions.conf.  I cannot find any stanza for the "parkedcalls" context
>>>>>>> reference in features.conf.  When the call comes in, the system does
>>>>>>> announce that there is an inbound call on the defined Node and extension of
>>>>>>> 0701.  I have tried also *610701 etc... just given that *61 brings
>>>>>>> autopatch up to dailtone..
>>>>>>>
>>>>>>>
>>>>>>>> $ grep '^6' *
>>>>>>>> rpt.conf:61 = autopatchup,noct = 1,farenddisconnect = 1,dialtime =
>>>>>>>> 20000  ; Autopatch up
>>>>>>>> rpt.conf:62 = autopatchdn
>>>>>>>>       ; Autopatch down
>>>>>>>> rpt.conf:67 = remote,210 ; Send a *
>>>>>>>> rpt.conf:69 = remote,211 ; Send a #
>>>>>>>
>>>>>>>
>>>>>>>> $ grep -i park *
>>>>>>>> chan_dahdi.conf:;   Also enables call parking (overrides the
>>>>>>>> 'canpark' parameter)
>>>>>>>> chan_dahdi.conf:; Allow call parking
>>>>>>>> chan_dahdi.conf:; ('canpark=no' is overridden by 'transfer=yes')
>>>>>>>> chan_dahdi.conf:canpark=yes
>>>>>>>> extensions.conf:exten =>
>>>>>>>> s,1,Rpt(43265|Rrpt/node:NODE:rpt/in-call:digits/0:PARKED|120) 75
>>>>>>>> extensions.conf:exten = _07XX,1,Goto(parkedcalls|${EXTEN:1}|1)
>>>>>>>> extensions.conf:exten =>
>>>>>>>> _1.,1,Rpt(${EXTEN:1}|Rrpt/node:NODE:rpt/in-call:digits/0:PARKED|120)
>>>>>>>> features.conf:; Sample Call Features (parking, transfer, etc)
>>>>>>>> configuration
>>>>>>>> features.conf:parkext => 700 ; What extension to dial to park
>>>>>>>> features.conf:parkpos => 701-720 ; What extensions to park calls
>>>>>>>> on. These needs to be
>>>>>>>> features.conf: ; and increments with one for the next parked call.
>>>>>>>> features.conf:context => parkedcalls ; Which context parked calls
>>>>>>>> are in
>>>>>>>> modules.conf:load => app_parkandannounce.so ; Call Parking and
>>>>>>>> Announce Application
>>>>>>>
>>>>>>>
>>>>>>> repeater*CLI> dialplan show custom-gv-answer
>>>>>>>> [ Context 'custom-gv-answer' created by 'pbx_config' ]
>>>>>>>>   's' =>            1.
>>>>>>>> Rpt(43265|Rrpt/node:NODE:rpt/in-call:digits/0:PARKED|120) [pbx_config]
>>>>>>>>                     2. Hangup()
>>>>>>>> [pbx_config]
>>>>>>>> -= 1 extension (2 priorities) in 1 context. =-
>>>>>>>
>>>>>>>
>>>>>>> <features.conf>
>>>>>>> [general]
>>>>>>> parkext => 700                  ; What extension to dial to park
>>>>>>> parkpos => 701-720              ; What extensions to park calls on.
>>>>>>> These needs to be
>>>>>>>                                 ; numeric, as Asterisk starts from
>>>>>>> the start position
>>>>>>>                                 ; and increments with one for the
>>>>>>> next parked call.
>>>>>>> context => parkedcalls          ; Which context parked calls are in
>>>>>>>
>>>>>>> <extensions.conf snip>
>>>>>>> [radio]
>>>>>>> exten = _X11,1,Goto(check_route|${EXTEN}|1);
>>>>>>> exten = _NXXXXXX,1,Goto(check_route|1${HOMENPA}${EXTEN}|1)
>>>>>>> exten = _1XXXXXXXXXX,1,Goto(check_route|${EXTEN}|1)
>>>>>>> exten = _07XX,1,Goto(parkedcalls|${EXTEN:1}|1)
>>>>>>> exten = 00,1,Goto(my-ip|s|1)
>>>>>>>
>>>>>>> On Wed, Mar 30, 2016 at 11:05 PM, Jim Duuuude <
>>>>>>> telesistant at hotmail.com> wrote:
>>>>>>>
>>>>>>>> 701 is meant to un-park call parked in parking lot 1 in Asterisk.
>>>>>>>>
>>>>>>>> If your autopatch access code is *6, then *6 plus what it tells
>>>>>>>>
>>>>>>>> you to dial (0701) should work, if you have the call parking
>>>>>>>> configured
>>>>>>>>
>>>>>>>> correctly (see features.conf), and accessed in the autopatch's
>>>>>>>>
>>>>>>>> Asterisk dialplan, as is in the default extensions.conf:
>>>>>>>>
>>>>>>>>
>>>>>>>> exten=_07XX,1,Goto(parkedcalls|${EXTEN:1}|1)
>>>>>>>>
>>>>>>>>
>>>>>>>> In the default config that is shipped with ACID, this is how it is
>>>>>>>> set up
>>>>>>>>
>>>>>>>> already.
>>>>>>>>
>>>>>>>>
>>>>>>>> Jim
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------
>>>>>>>> *From:* JJC <cummingsj at gmail.com>
>>>>>>>> *Sent:* Wednesday, March 30, 2016 8:25 PM
>>>>>>>>
>>>>>>>> *To:* Jim Duuuude
>>>>>>>> *Cc:* app_rpt-users at ohnosec.org
>>>>>>>> *Subject:* Re: [App_rpt-users] Reverse AutoPatch
>>>>>>>>
>>>>>>>> It is now at the point where it announces there is an incoming call
>>>>>>>> but none of the commands that I have found seem to be working.. trying:
>>>>>>>>
>>>>>>>> *60701
>>>>>>>> *6701
>>>>>>>>
>>>>>>>> I also changed the extension from 701 to s with the same results
>>>>>>>> (while removing the /701 from the register line), removed the Answer()
>>>>>>>> directive
>>>>>>>>
>>>>>>>> <sip.conf>
>>>>>>>> register=USER:<obfuscated>@THING/701
>>>>>>>>
>>>>>>>> [THING]
>>>>>>>> type=peer
>>>>>>>> allowguest=yes
>>>>>>>> autocreatepeer=yes
>>>>>>>> insecure=port,invite
>>>>>>>> username=THING
>>>>>>>> secret=<obfuscated>
>>>>>>>> host=gvgw.simonics.com
>>>>>>>> qualify=no
>>>>>>>> allowexternaldomains=yes
>>>>>>>> context=custom-gv-answer
>>>>>>>>
>>>>>>>> <extensions.conf>
>>>>>>>> [custom-gv-answer]
>>>>>>>> exten => 701,1,Answer()
>>>>>>>> exten =>
>>>>>>>> 701,n,Rpt(43265|Rrpt/node:NODE:rpt/in-call:digits/0:PARKED|120) 75
>>>>>>>> exten => 701,n,Hangup
>>>>>>>>
>>>>>>>> On Wed, Mar 30, 2016 at 6:34 PM, JJC <cummingsj at gmail.com> wrote:
>>>>>>>>
>>>>>>>>> It's all one big mess, yes I did need that also.. It seems that
>>>>>>>>> when I make changes even to my reverse auto patch it affects the error that
>>>>>>>>> I noted.  Thanks for the info for sure!
>>>>>>>>>
>>>>>>>>> Sent from the iRoad
>>>>>>>>>
>>>>>>>>> On Mar 30, 2016, at 18:26, Jim Duuuude <telesistant at hotmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> No, that's a SIP problem, I thought you were needing info on the
>>>>>>>>> reverse autopatch.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ------------------------------
>>>>>>>>> *From:* JJC <cummingsj at gmail.com>
>>>>>>>>> *Sent:* Wednesday, March 30, 2016 5:24 PM
>>>>>>>>> *To:* Jim Duuuude
>>>>>>>>> *Cc:* app_rpt-users at ohnosec.org
>>>>>>>>> *Subject:* Re: [App_rpt-users] Reverse AutoPatch
>>>>>>>>>
>>>>>>>>> This will address the "found no matching peer or user" error?
>>>>>>>>>
>>>>>>>>> Sent from the iRoad
>>>>>>>>>
>>>>>>>>> On Mar 30, 2016, at 17:10, Jim Duuuude <telesistant at hotmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> A real, live example is in extensions.conf, just after the
>>>>>>>>> beginning of the [allstar-sys] stanza:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> exten =>
>>>>>>>>> _1.,1,Rpt(${EXTEN:1}|Rrpt/node:NODE:rpt/in-call:digits/0:PARKED|120) 75
>>>>>>>>>
>>>>>>>>> exten => _1.,n,Hangup
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> In this case, it is passed 1 plus the node number as an extension.
>>>>>>>>> If you replace "${EXTEN:1}" with your node
>>>>>>>>>
>>>>>>>>> number it should work.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Jim
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ------------------------------
>>>>>>>>> *From:* app_rpt-users-bounces at ohnosec.org <
>>>>>>>>> app_rpt-users-bounces at ohnosec.org> on behalf of JJC <
>>>>>>>>> cummingsj at gmail.com>
>>>>>>>>> *Sent:* Wednesday, March 30, 2016 3:21 PM
>>>>>>>>> *To:* app_rpt-users at ohnosec.org
>>>>>>>>> *Subject:* [App_rpt-users] Reverse AutoPatch
>>>>>>>>>
>>>>>>>>> I have scoured the internet to find documentation about reverse
>>>>>>>>> autopatch but have had no luck.  I have been able to get autopatch working
>>>>>>>>> without a problem and have had _limited_ success in getting allstar(dial)
>>>>>>>>> to answer.
>>>>>>>>>
>>>>>>>>> I was able to get allstar to answer and allow me to run DTMF with
>>>>>>>>> the following, but really all that I want is reverse autopatch or both....
>>>>>>>>>
>>>>>>>>> If I make any real changes to the stanza in extensions.conf I get
>>>>>>>>> an error like:
>>>>>>>>> Using INVITE request as basis request - 1939985154 at 198.199.84.66
>>>>>>>>> Found no matching peer or user for '198.199.84.66:5060'
>>>>>>>>> [Mar 30 16:15:32] NOTICE[575]: chan_sip.c:14351
>>>>>>>>> handle_request_invite: Failed to authenticate user "Caller ID Strings..."
>>>>>>>>>
>>>>>>>>> <sip.conf>
>>>>>>>>> [general]
>>>>>>>>> allowguest = no
>>>>>>>>> match_auth_username=yes
>>>>>>>>> register=REDACTED:XXXXXX at gvgw.simonics.com/2230
>>>>>>>>>
>>>>>>>>> context = default
>>>>>>>>> allowoverlap = no               ; Disable overlap dialing support.
>>>>>>>>> (Default is yes)
>>>>>>>>> bindport = 5060                 ; UDP Port to bind to (SIP
>>>>>>>>> standard port is 5060)
>>>>>>>>> bindaddr = 0.0.0.0              ; IP address to bind to (0.0.0.0
>>>>>>>>> binds to all)
>>>>>>>>> srvlookup = yes                 ; Enable DNS SRV lookups on
>>>>>>>>> outbound calls
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> [GV17193576518]
>>>>>>>>> type=friend
>>>>>>>>> autocreatepeer=yes
>>>>>>>>> insecure=port,invite
>>>>>>>>> username=REDACTED
>>>>>>>>> secret=XXXXXXX
>>>>>>>>> host=gvgw.simonics.com
>>>>>>>>> qualify=no
>>>>>>>>> ;permit=0.0.0.0/0.0.0.0
>>>>>>>>> context=custom-gv-answer
>>>>>>>>>
>>>>>>>>> <extensions.conf>
>>>>>>>>> [custom-gv-answer]
>>>>>>>>> exten => 2230,1,Answer()
>>>>>>>>> exten => 2230,n,Playback(rpt/node)
>>>>>>>>> exten => 2230,n,Saydigits(${EXTEN:1})
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.keekles.org/pipermail/app_rpt-users/attachments/20160331/8b822a1a/attachment.html>


More information about the App_rpt-users mailing list