[Asterisk-Users] Unable to create channel of type 'Zap'
Jaime Blanco
blancolandau at hotmail.com
Wed Apr 20 11:33:44 MST 2005
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
More information about the asterisk-users
mailing list