[Asterisk-Users] Unable to create channel of type 'Zap'

Rod Bacon rod.bacon at empoweredcomms.com.au
Wed Apr 20 15:38:42 MST 2005


You have 2 problems.

Zap/g2 is one. You are trying to dial out a non-existent Zaptel group. 
Change your TRUNK variable to Zap/1-1 (or just Zap/1 will do).

Also, you are stripping the 1st number off your outgoing call. If you don't 
want to do this, then change TRUNKMSD to 0.






----- Original Message ----- 
From: "Jaime Blanco" <blancolandau at hotmail.com>
To: <asterisk-users at lists.digium.com>
Sent: Thursday, April 21, 2005 4:33 AM
Subject: [Asterisk-Users] Unable to create channel of type 'Zap'


> Hi,
>
> I just installed the asterisk and the X100P card.  I can receive calls 
> from PSTN and it can ring on a Grandstream SIP Phone.  From the SIP Phone 
> I can dial the demo extension on asterisk pbx.  The issue is as soon as I 
> try to dial out 92714756 or another number I received the following 
> message:
>
> *CLI>     -- Executing Dial("SIP/1001-2b93", "Zap/g2/2714756") in new 
> stack
> Apr 20 02:27:40 NOTICE[245776]: app_dial.c:536 dial_exec: Unable to create 
> channel of type 'Zap'
>  == Everyone is busy at this time
>    -- Executing Congestion("SIP/1001-2b93", "") in new stack
>  == Spawn extension (from-sip, 92714756, 2) exited non-zero on 
> 'SIP/1001-2b93'
>
> Zapata.conf is:
>
> [channels]
> callwaiting=yes
> callwaitingcallerid=yes
> threewaycalling=yes
> transfer=yes
> cancallforward=yes
>
> echocancel=yes
> echocancelwhenbridged=no
>
> rxgain=0.0
> txgain=0.0
>
> immediate=no
>
> context=default
>
> signalling=fxs_ks
> channel=1
>
>
> extensions.conf
> ;
> ; Static extension configuration file, used by ; the pbx_config module. 
> This is where you configure all your ; inbound and outbound calls in 
> Asterisk.
> ;
>
> ;
> ; The "General" category is for certain variables.
> ;
> [general]
> ;
> ; If static is set to no, or omitted, then the pbx_config will rewrite ; 
> this file when extensions are modified.  Remember that all comments ; made 
> in the file will be lost when that happens.
> ;
> ; XXX Not yet implemented XXX
> ;
> static=yes
> ;
> ; if static=yes and writeprotect=no, you can save dialplan by ; CLI 
> command 'save dialplan' too ; writeprotect=no
>
> ; You can include other config files, use the #include command (without 
> the
> ';')
> ; Note that this is different from the "include" command that includes 
> contexts within ; other contexts. The #include command works in all 
> asterisk configuration files.
> ;#include "filename.conf"
>
> ; The "Globals" category contains global variables that can be referenced 
> ; in the dialplan with ${VARIABLE} or ${ENV(VARIABLE)} for Environmental 
> variable ; ${${VARIABLE}} or ${text${VARIABLE}} or any hybrid ; [globals]
> CONSOLE=Console/dsp                             ; Console interface for 
> demo
> ;CONSOLE=Zap/1
> ;CONSOLE=Phone/phone0
> IAXINFO=guest                                   ; IAXtel username/password
> ;IAXINFO=myuser:mypass
> TRUNK=Zap/g2                                    ; Trunk interface
> TRUNKMSD=1                                      ; MSD digits to strip
> (usually 1 or 0)
> ;TRUNK=IAX2/user:pass at provider
> ;
> ; Any category other than "General" and "Globals" represent ; extension 
> contexts, which are collections of extensions.
> ;
> ; Extension names may be numbers, letters, or combinations ; thereof. If 
> an extension name is prefixed by a '_'
> ; character, it is interpreted as a pattern rather than a ; literal.  In 
> patterns, some characters have special meanings:
> ;
> ;   X - any digit from 0-9
> ;   Z - any digit from 1-9
> ;   N - any digit from 2-9
> ;   [1235-9] - any digit in the brackets (in this example, 
> 1,2,3,5,6,7,8,9)
> ;   . - wildcard, matches anything remaining (e.g. _9011. matches
> ;       anything starting with 9011 excluding 9011 itself)
> ;
> ; For example the extension _NXXXXXX would match normal 7 digit dialings, 
> ; while _1NXXNXXXXXX would represent an area code plus phone number ; 
> preceeded by a one.
> ;
> ; Contexts contain several lines, one for each step of each ; extension, 
> which can take one of two forms as listed below, ; with the first form 
> being preferred.  One may include another ; context in the current one as 
> well, optionally with a ; date and time.  Included contexts are included 
> in the order ; they are listed.
> ;
> ;[context]
> ;exten => someexten,priority,application(arg1,arg2,...)
> ;exten => someexten,priority,application,arg1|arg2...
> ;
> ; Timing list for includes is
> ;
> ;   <time range>|<days of week>|<days of month>|<months>
> ;
> ;include => daytime|9:00-17:00|mon-fri|*|* ; ; ignorepat can be used to 
> instruct drivers to not cancel dialtone upon ; receipt of a particular 
> pattern.  The most commonly used example is ; of course '9' like this:
> ;
> ;ignorepat => 9
> ; so that dialtone remains even after dialing a 9.
> ;
>
> ;
> ; Here are the entries you need to participate in the IAXTEL ; call 
> routing system.  Most IAXTEL numbers begin with 1-700, but ; there are 
> exceptions.  For more information, and to sign ; up, please go to 
> www.gnophone.com or www.iaxtel.com ; [iaxtel700] exten => 
> _91700NXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel)
>
> [iaxprovider]
> ;switch => IAX2/user:[key]@myserver/mycontext
>
> [trunkint]
> ;
> ; International long distance through trunk ; exten => 
> _9011.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
> exten => _9011.,2,Congestion
>
> [trunkld]
> ;
> ; Long distance context accessed through trunk ; exten => 
> _91NXXNXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
> exten => _91NXXNXXXXXX,2,Congestion
>
> [trunklocal]
> ;
> ; Local seven-digit dialing accessed through trunk interface ; exten => 
> _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
> exten => _9NXXXXXX,2,Congestion
>
> [trunktollfree]
> ;
> ; Long distance context accessed through trunk interface ; exten => 
> _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
> exten => _91800NXXXXXX,2,Congestion
> exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
> exten => _91888NXXXXXX,2,Congestion
> exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
> exten => _91877NXXXXXX,2,Congestion
> exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
> exten => _91866NXXXXXX,2,Congestion
>
> [international]
> ;
> ; Master context for international long distance ; ignorepat => 9 include 
> => longdistance include => trunkint
>
> [longdistance]
> ;
> ; Master context for long distance
> ;
> ignorepat => 9
> include => local
> include => trunkld
>
> [local]
> ;
> ; Master context for local, toll-free, and iaxtel calls only ; ignorepat 
> => 9 include => default include => parkedcalls include => trunklocal 
> include => iaxtel700 include => trunktollfree include => iaxprovider ; ; 
> You can use an alternative switch type as well, to resolve ; extensions 
> that are not known here, for example with remote ; IAX switching you 
> transparently get access to the remote ; Asterisk PBX ; ; switch => 
> IAX2/user:password at bigserver/local
>
> [macro-stdexten];
> ;
> ; Standard extension macro:
> ;   ${ARG1} - Extension  (we could have used ${MACRO_EXTEN} here as well
> ;   ${ARG2} - Device(s) to ring
> ;
> exten => s,1,Dial(${ARG2},20)                                   ; Ring the
> interface, 20 seconds maximum
> exten => s,2,Voicemail(u${ARG1})                                ; If
> unavailable, send to voicemail w/ unavail announce
> exten => s,3,Goto(default,s,1)                                  ; If they
> press #, return to start
> exten => s,102,Voicemail(b${ARG1})                              ; If busy,
> send to voicemail w/ busy announce
> exten => s,103,Goto(default,s,1)                                ; If they
> press #, return to start
>
>
> [demo]
> ;
> ; We start with what to do when a call first comes in.
> ;
> exten => s,1,Wait,1                     ; Wait a second, just for fun
> exten => s,2,Answer                     ; Answer the line
> exten => s,3,DigitTimeout,5             ; Set Digit Timeout to 5 seconds
> exten => s,4,ResponseTimeout,10         ; Set Response Timeout to 10 
> seconds
> exten => s,5,BackGround(demo-congrats)  ; Play a congratulatory message 
> exten => s,6,BackGround(demo-instruct)  ; Play some instructions
>
> exten => 2,1,BackGround(demo-moreinfo)  ; Give some more information.
> exten => 2,2,Goto(s,6)
>
> exten => 3,1,SetLanguage(fr)            ; Set language to french
> exten => 3,2,Goto(s,5)                  ; Start with the congratulations
>
> exten => 1000,1,Goto(default,s,1)
> ;
> ; We also create an example user, 1234, who is on the console and has ; 
> voicemail, etc.
> ;
> exten => 1234,1,Playback(transfer,skip)         ; "Please hold while..."
>                                        ; (but skip if channel is not up) 
> exten => 1234,2,Macro(stdexten,1234,${CONSOLE})
>
> exten => 1235,1,Voicemail(u1234)                ; Right to voicemail
>
> exten => 1236,1,Dial(Console/dsp)               ; Ring forever
> exten => 1236,2,Voicemail(u1234)                ; Unless busy
>
> ;
> ; # for when they're done with the demo
> ;
> exten => #,1,Playback(demo-thanks)              ; "Thanks for trying the
> demo"
> exten => #,2,Hangup                     ; Hang them up.
>
> ;
> ; A timeout and "invalid extension rule"
> ;
> exten => t,1,Goto(#,1)                  ; If they take too long, give up
> exten => i,1,Playback(invalid)          ; "That's not valid, try again"
>
> ;
> ; Create an extension, 500, for dialing the ; Asterisk demo.
> ;
> exten => 500,1,Playback(demo-abouttotry); Let them know what's going on
> exten => 500,2,Dial(IAX2/guest at misery.digium.com/s at default)     ; Call the
> Asterisk demo
> exten => 500,3,Playback(demo-nogo)      ; Couldn't connect to the demo 
> site
> exten => 500,4,Goto(s,6)                ; Return to the start over 
> message.
>
> ;
> ; Create an extension, 600, for evaulating echo latency.
> ;
> exten => 600,1,Playback(demo-echotest)  ; Let them know what's going on
> exten => 600,2,Echo                     ; Do the echo test
> exten => 600,3,Playback(demo-echodone)  ; Let them know it's over
> exten => 600,4,Goto(s,6)                ; Start over
>
> ;
> ; Give voicemail at extension 8500
> ;
> exten => 8500,1,VoicemailMain
> exten => 8500,2,Goto(s,6)
> ;
> ; Here's what a phone entry would look like (IXJ for example) ; ;exten => 
> 1265,1,Dial(Phone/phone0,15) ;exten => 1265,2,Goto(s,5)
>
> ;[mainmenu]
> ; Example "main menu" context with submenu ; ;exten => s,1,Answer
> ;exten => s,2,Background(thanks)                ; "Thanks for calling 
> press
> 1 for sales, 2 for support, ..."
> ;exten => 1,1,Goto(submenu,s,1)
> ;exten => 2,1,Hangup
> ;include => default
> ;
> ;[submenu]
> ;exten => s,1,Ringing                                   ; Make them
> comfortable with 2 seconds of ringback
> ;exten => s,2,Wait,2
> ;exten => s,3,Background(submenuopts)   ; "Thanks for calling the sales
> department.  Press 1 for steve, 2 for..."
> ;exten => 1,1,Goto(default,steve,1)
> ;exten => 2,1,Goto(default,mark,2)
>
> [default]
> ;
> ; By default we include the demo.  In a production system, you ; probably 
> don't want to have the demo there.
> ;
> include => demo
>
>
> ; Real extensions would go here.  Generally you want real extensions to be 
> 4 or 5 ; digits long (although there is no such requirement) and start 
> with a single ; digit that is fairly large (like 6 or 7) so that you have 
> plenty of room to ; overlap extensions and menu options without conflict. 
> You can alias them with ; names, too and use global variables
>
>
> exten => 6275,1,Macro(stdexten,6275,${MARK})                    ; assuming
> ${MARK} is something like Zap/2
> exten => mark,1,Goto(6275|1)                                            ;
> alias mark to 6275
> exten => 6236,1,Macro(stdexten,6236,${WIL})                     ; Ditto 
> for
> wil
> exten => wil,1,Goto(6236|1)
>
> ;
> ; Some other handy things are an extension for checking voicemail via ; 
> voicemailmain ; ;exten => 8500,1,VoicemailMain ;exten => 8500,2,Hangup ; ; 
> Or a conference room (you'll need to edit meetme.conf to enable this room) 
> ; ;exten => 8600,1,Meetme,1234 ; ; Or playing an announcement to the 
> called party, as soon it answers ; ;exten = 
> 8700,1,Dial(${MARK},30,A(/path/to/my/announcemsg))
> ;
> ; For more information on applications, just type "show applications" at 
> your ; friendly Asterisk CLI prompt.
> ;
> ; 'show application <command>' will show details of how you ; use that 
> particular application in this file, the dial plan.
> ;
> [from-sip]
> exten => 1001,1,Dial(SIP/1001)
> exten => 1001,2,Wait(1)
> exten => 1001,3,Answer
> exten => 1001,4,Hangup
> include => demo
> include => local
> ;exten => _9X,1,Dial,Zap/1/${EXTEN:1}
> ;exten => _9X,2,Goto(102)
> ;exten => _9X,102,Congestion
> ;exten => _9X,103,Hangup
>
>
>
> ZAPTEL.CONF
> loadzone = us
> #default = us
>
> fxsks=1
>
> Please, notice that "default=us" is commented since when I run ztcfg -vvv 
> it gave me the following error:
> root at knoppix:/etc# ztcfg -vvvv
> Notice: Configuration file is /etc/zaptel.conf line 2: Unknown keyword 
> 'default'
>
> 1 error(s) detected
>
> I commented the line 2 and run ztcfg again and it worked without errors.
> May it has no relationship with the error describe above.
>
>
> Thanks.
> Jaime
>
>
> Jaime Blanco
> President
> Ximark Technologies, Inc.
> Solutions for Keeping your Business Up
> Phone:               +507 271 5951 (Panama)
>                         +1 928 752 1325 (USA)
> Cell:                   +507 676 0623
> Corporate email:  <mailto:jaime.blanco at ximark.com> jaime.blanco at ximark.com
> Personal email:    <mailto:jaime at blanco.com> jaime at blanco.com
> MSN ID:               <mailto:blancolandau at hotmail.com>
> blancolandau at hotmail.com
>
>
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users
> 





More information about the asterisk-users mailing list