Bookmark this page:
Yahoo!
Windows Live
del.icio.us
digg
Netscape
|
|
||||||||||||||||
|
Posted by estropelic on July 11, 2005, 2:20 pm
Please log in for more thread options Hello Guys, I'm somewhat of a newbie and am desperately seeking for some help... I've managed to get asterisk up and running on my server, and signed up with a broadvoice account... I'm having no problem dialing and communicating between extensions, but whenever anyone tries to call my broadvoice account, they are greeted by no ring or anything, but rather simply a direct to voicemail... Also, the most annoying is when I try to place an outside call... At that point, if the call is to a regular phone number, I'll get a message asking me to enter my password... followed by pound... Any idea, how I can resolve this issue? I feel like i'm very close to getting this thing working, but I'm pretty frustrated because I don't know what to edit or change at this point... Below is my configurational files.. +++++++++++++++++++++++++++++++++++++ ; Note: If your SIP devices are behind a NAT and your Asterisk ; server isn't, try adding "nat=1" to each peer definition to ; solve translation problems. [general] externip=69.165.XXX.XXX localnet=192.168.1.105/255.255.255.0 port = 5060 ; Port to bind to (SIP is 5060) bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine) disallow=all allow=ulaw allow=alaw context = from-sip-external ; Send unknown SIP callers to this context callerid = Unknown register =>
3055741428@sip.broadvoice.com:MYSECRETPASS:3055741428@sip.broadvoice.com/200
[sip.broadvoice.com] type=peer ;Enter your closest proxy server host=proxy.mia.broadvoice.com fromdomain=sip.broadvoice.com fromuser=3055741428 secret=MYSECRETPASS context=from-broadvoice ;Disable canreinvite if you are behind a NAT canreinvite=no ;Don't try to authenticate on incoming calls insecure=very #include sip_nat.conf #include sip_custom.conf #include sip_additional.conf +++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS+++++ EXTENSIONS ; Asterisk Management Portal (AMP) ; Copyright (C) 2004 Coalescent Systems Inc ; dialparties.agi (http://www.sprackett.com/asterisk/) ; Asterisk::AGI (http://asterisk.gnuinter.net/) ; gsm (http://www.ibiblio.org/pub/Linux/utils/compress/!INDEX.short.html) ; loligo sounds (http://www.loligo.com/asterisk/sounds/) ; mpg123 (http://voip-info.org/wiki-Asterisk+config+musiconhold.conf) ; include extension contexts generated from AMP #include extensions_additional.conf ; Customizations to this dialplan should be made in extensions_custom.conf ; See extensions_custom.conf.sample for an example #include extensions_custom.conf [from-trunk] ; just an alias since VoIP shouldn't be called PSTN include => from-pstn
[from-pstn] include => from-pstn-custom ;
create this
context in extensions_custom.conf to include customizations include => ext-did
otherwise it overrides ext-did
include => from-pstn-timecheck ; this has to be included [from-pstn-timecheck] exten => .,1,Goto(s,1) ;
catch-all matching for calls that have
DID info (if a DID route hasn't matched them) exten => s,1,GotoIf($[$ =
forcereghours]?from-pstn-reghours,s,1:)
exten => s,2,GotoIf($[$ =
forceafthours]?from-pstn-afthours,s,1:)
exten =>
s,3,GotoIfTime($|$|*|*?from-pstn-reghours,s,1:)
exten =>
s,4,Goto(from-pstn-afthours,s,1)
[from-pstn-reghours] exten =>
s,1,GotoIf($[$ =
disabled]?from-pstn-reghours-nofax,s,1:2) ; if fax detection is disabled, then jump to from-pstn-nofax - else continue exten =>
s,2,Answer
exten => s,3,Wait(1)
exten
exten => s,4,SetVar(intype=$) => s,5,Cut(intype=intype,-,1)
INCOMING starts
exten => s,6,GotoIf($[$ = EXT]?7:9) ; If with EXT, then assume its an extension exten => s,7,Wait(3)
;wait 3 more second to make sure this
isn't a fax before dialing someone exten => s,8,Goto(ext-local,$,1)
GRP]?10:12) ; If INCOMING starts
exten => s,9,GotoIf($[$ = with GRP, then assume its a ring group exten => s,10,Wait(3)
s,12,GotoIf($[$ = QUE]?13:15)
exten => s,11,Goto(ext-group,$,1) exten => exten => s,13,Wait(3)
s,14,Goto(ext-queues,$,1)
exten => exten => s,15,Goto($,s,1) ;
not EXT or GR1 - it's an
auto attendant exten => fax,1,Goto(ext-fax,in_fax,1)
exten => h,1,Hangup [from-pstn-reghours-nofax] exten =>
s,1,SetVar(intype=$)
exten => s,2,Cut(intype=intype,-,1)
s,3,GotoIf($[$ = EXT]?4:5) ; If INCOMING starts
exten => with EXT, then assume its an extension exten => s,4,Goto(ext-local,$,1)
s,5,GotoIf($[$ = GRP]?6:7) ; If INCOMING starts
exten => with GRP, then assume its a ring group exten => s,6,Goto(ext-group,$,1)
s,7,GotoIf($[$ = QUE]?8:11) ;queue
exten => exten => s,8,Answer ;
answer call before queue
exten => s,9,Wait(1)
s,10,Goto(ext-queues,$,1)
exten => exten => s,11,Answer ; answer
call before auto
attendant exten => s,12,Wait(1)
s,13,Goto($,s,1) ; not EXT or GR1 - it's an
exten => auto attendant exten => fax,1,Goto(ext-fax,in_fax,1)
exten => h,1,Hangup [from-pstn-afthours] exten => s,1,GotoIf($[$ =
disabled]?from-pstn-afthours-nofax,s,1:2) ; if fax
detection is disabled, then jump to from-pstn-nofax - else continue exten =>
s,2,Answer
exten => s,3,Wait(1)
EXT]?7:9) ; If INCOMING starts
exten => s,4,SetVar(intype=$) exten => s,5,Cut(intype=intype,-,1) exten => s,6,GotoIf($[$ = with EXT, then assume its an extension exten =>
s,7,Wait(3) ;wait 3 more second to make sure this
isn't a fax before dialing someone exten => s,8,Goto(ext-local,$,1)
s,9,GotoIf($[$ = GRP]?10:12) ; If INCOMING starts
exten => with GRP, then assume its a ring group exten => s,10,Wait(3)
s,11,Goto(ext-group,$,1)
exten => exten => s,12,GotoIf($[$ =
QUE]?13:15)
exten => s,13,Wait(3)
s,14,Goto(ext-queues,$,1)
exten => exten =>
s,15,Goto($,s,1) ; not EXT or GR1 -
it's an auto attendant exten => fax,1,Goto(ext-fax,in_fax,1)
exten => h,1,Hangup [from-pstn-afthours-nofax] exten => s,1,SetVar(intype=$)
exten
=> s,2,Cut(intype=intype,-,1)
INCOMING starts
exten => s,3,GotoIf($[$ = EXT]?4:5) ; If with EXT, then assume its an extension exten =>
s,4,Goto(ext-local,$,1)
exten => s,5,GotoIf($[$ =
GRP]?6:7) ; If INCOMING starts
with GRP, then assume its a ring group exten =>
s,6,Goto(ext-group,$,1)
exten => s,7,GotoIf($[$ =
QUE]?8:11) ;queue
exten => s,8,Answer ; answer call before queue
exten
exten => s,9,Wait(1) exten => s,10,Goto(ext-queues,$,1) => s,11,Answer ; answer call before auto
attendant
exten =>
s,12,Wait(1)
exten => s,13,Goto($,s,1) ; not EXT or
GR1 -
it's an auto attendant exten => fax,1,Goto(ext-fax,in_fax,1)
h,1,Hangup
exten => ; ############################################################################ ; Macros [macro] ; ############################################################################ ; Rings one or more extensions. Handles things like call forwarding and DND ; We don't call dial directly for anything internal anymore. ; ARGS: $TIMER, $OPTIONS, $EXT1, $EXT2, $EXT3, ... ; Use a Macro call such as the following: ; Macro(dial,$DIAL_TIMER,$DIAL_OPTIONS,$EXT1,$EXT2,$EXT3,...) [macro-dial] exten => s,1,GotoIf($[ "$" = "macro-rg-group" ]?4:2)
; if this is from
rg-group, don't strip prefix exten =>
s,2,GotoIf($[$)}} !=
$]?4:3) ; check for ring-group prefix exten =>
s,3,SetCIDName($)}}) ;
strip off prefix exten =>
s,4,AGI,dialparties.agi
exten => s,5,NoOp(Returned from dialparties with no
extensions to
call) exten => s,6,SetVar(DIALSTATUS=BUSY)
s,10,Dial($) ;
exten => dialparties will set the priority to 10 if $ds is not null ; Ring an extension, if the extension is busy or there is no answer send it ; to voicemail ; ARGS: $VMBOX, $EXT [macro-exten-vm] exten => s,1,Setvar(FROMCONTEXT=exten-vm)
s,2,Macro(record-enable,$,IN)
exten => exten =>
s,3,Macro(dial,$,$,$)
exten =>
s,4,GotoIf($[$ = Local]?s-$,1) ;
if the channel is Local, then do not go to voicemail. This is primarily to avoid vm for call-forwarded extensions in ring groups exten => s,5,GotoIf($[$ =
novm]?s-$,1) ; no
voicemail in use for this extension exten =>
s,6,NoOp(Sending to Voicemail box $)
exten =>
s,7,Macro(vm,$,$)
exten => s-BUSY,1,NoOp(Extension is
reporting BUSY and has no
Voicemail) exten => s-BUSY,2,Busy()
s-BUSY,3,Wait(60)
exten => exten => s-BUSY,4,NoOp()
exten => _s-.,1,Congestion() [macro-vm] exten => s,1,Goto(s-$,1)
; Voicemail Busy message
exten => s-BUSY,1,Voicemail(b$) exten => s-BUSY,2,Hangup()
_s-.,1,Voicemail(u$) ; Voicemail Unavailable
exten => message exten =>
_s-.,2,Hangup()
exten => o,1,Background(one-moment-please) ; 0 during vm
message will hangup
exten => o,2,GotoIf($["foo$" =
"foo"]?from-pstn,s,1:from-pstn,$,1)
exten =>
a,1,VoiceMailMain($)
exten => a,2,Hangup
; For some reason, if I don't run setCIDname, CALLERIDNAME will be blank in my AGI ; ARGS: none [macro-fixcid] exten => s,1,SetCIDName($)
; Ring groups of phones ; ARGS: comma separated extension list ; 1 - ringtimer ; 2 - preifx ; 3 - extension list [macro-rg-group] exten => s,1,GotoIf($[$)}} !=
$]?3:2) ; check for old prefix
exten =>
s,2,SetCIDName($)}}) ;
strip off old prefix exten => s,3,Setvar(RGPREFIX=$) ; set new prefix
s,4,SetCIDName($$) ; add prefix
exten => to callerid name exten => s,5,Setvar(RecordMethod=Group) ; set new prefix
s,6,Macro(record-enable,$,$)
exten => exten =>
s,7,Macro(dial,$,$,$)
;exten =>
s,1,GotoIf($[$)}} !=
$]?3:2) ; check for old prefix ;exten => s,2,SetCIDName($)}}) ;
strip off old prefix
;exten => s,3,Setvar(RGPREFIX=$) ; set new prefix
s,4,SetCIDName($$) ; add prefix
;;exten => s,4,Noop($ $) ;exten => to callerid name ;;exten => s,6,Noop(Dial group $)
s,5,Macro(dial,$,$,$)
;exten => ;exten =>
s,1,Setvar(GRP=$) ;my original choice of variable
GROUP is now overwritten by SetGroup. Copy contents to GRP ;exten =>
s,2,SetGroup($)
;exten => s,3,Setvar(FROMCONTEXT=rg-group)
;exten
=> s,4,SetCIDName($$)
s,5,Macro(dial,$,$,$)
;exten => ; ; Outgoing channel(s) are busy ... inform the client ; [macro-outisbusy] exten =>
s,1,Playback(allison7/all-circuits-busy-now)
exten =>
s,2,Playback(allison7/pls-try-call-later)
exten => s,3,Macro(hangupcall)
; What to do on hangup. [macro-hangupcall] exten => s,1,ResetCDR(w)
s,2,NoCDR()
exten => exten => s,3,Wait(5)
exten => s,4,Hangup [macro-faxreceive] exten =>
s,1,SetVar(FAXFILE=/var/spool/asterisk/fax/$.tif)
exten =>
s,2,SetVar(EMAILADDR=$)
exten => s,3,rxfax($)
s,103,SetVar(EMAILADDR=$)
exten => exten => s,104,Goto(3)
; dialout and strip the prefix [macro-dialout] exten => s,1,GotoIf($[foo$}
= foo]?4) ;check
for CID override for exten exten =>
s,2,SetCallerID($})
exten => s,3,Goto(6)
s,4,GotoIf($[foo$} = foo]?6) ;check for
exten => CID override for trunk exten => s,5,SetCallerID($})
s,6,SetVar(length=$})})
exten => exten =>
s,7,Dial($}/$})
exten => s,8,Congestion
s,108,Macro(outisbusy)
exten => ; dialout using default OUT trunk - no prefix [macro-dialout-default] exten => s,1,Macro(record-enable,$,OUT)
for CID
exten => s,2,GotoIf($[foo$} = foo]?5) ;check override for exten exten => s,3,SetCallerID($})
s,4,Goto(7)
exten => exten => s,5,GotoIf($[foo$ = foo]?7) ;check for CID
override for trunk
exten => s,6,SetCallerID($)
s,7,Dial($/$)
exten => exten => s,8,Congestion
exten => s,108,Macro(outisbusy) ; dialout using a trunk, using pattern matching (don't strip any prefix) ; arg1 = trunk number, arg2 = number, arg3 = route password [macro-dialout-trunk] exten => s,1,GotoIf($[foo$ = foo]?3:2)) ; arg3 is pattern
password
exten =>
s,2,Authenticate($)
exten => s,3,Macro(record-enable,$,OUT)
for CID
exten => s,4,GotoIf($[foo$} = foo]?7) ;check override for exten exten => s,5,SetCallerID($})
s,6,Goto(9)
exten => exten => s,7,GotoIf($[foo$} = foo]?9) ;check for
CID
override for trunk exten => s,8,SetCallerID($})
s,9,SetGroup(OUT_$)
exten => exten => s,10,CheckGroup($})
; if
we've used up the max channels, continue at 109 (n+101) exten =>
s,11,SetVar(DIAL_NUMBER=$)
exten => s,12,SetVar(DIAL_TRUNK=$)
exten
=> s,13,AGI(fixlocalprefix) ; this sets DIAL_NUMBER to the
proper dial string
for this trunk exten => s,14,SetVar(OUTNUM=$}$)
;
OUTNUM is the final dial number exten => s,15,Cut(custom=OUT_$,:,1) ;
Custom trunks are
prefixed with "AMP:" exten => s,16,GotoIf($[$ =
AMP]?19)
exten => s,17,Dial($}/$) ; Regular Trunk Dial
exten => s,18,Goto(s-$,1) ; This is a custom trunk. Substitute $OUTNUM$ with the actual number and rebuild the dialstring ; example trunks: "AMP:CAPI/XXXXXXXX:b$OUTNUM$,30,r", "AMP:OH323/$OUTNUM$@XX.XX.XX.XX:XXXX" exten => s,19,Cut(pre_num=OUT_$,$,1)
; this is where we
exten => s,20,Cut(the_num=OUT_$,$,2) expect to find string OUTNUM exten =>
s,21,Cut(post_num=OUT_$,$,3)
exten => s,22,GotoIf($[$ =
OUTNUM]?23:24) ; if we didn't
find "OUTNUM", then skip to Dial exten =>
s,23,SetVar(the_num=$) ; replace "OUTNUM" with the
actual number to dial exten => s,24,Dial($$$)
s,25,Goto(s-$,1)
exten => exten => s,111,Noop(max channels used up)
s-BUSY,1,NoOp(Trunk is reporting BUSY)
exten => exten => s-BUSY,2,Busy()
s-BUSY,3,Wait(60)
exten => exten => s-BUSY,4,NoOp()
exten => _s-.,1,NoOp(Dial failed due
to $)
; Adds a dynamic agent/member to a Queue ; Prompts for call-back number - in not entered, uses CIDNum [macro-agent-add] exten =>
s,1,Wait(1)
exten => s,2,NoOp
callback number
exten => s,3,Read(CALLBACKNUM,agent-user) ; get from user exten => s,4,GotoIf($[foo$ = foo]?5:7)) ;
if user just
pressed # or timed out, use cidnum exten =>
s,5,SetVar(CALLBACKNUM=$)
exten => s,6,GotoIf($[foo$ =
foo]?2)) ; if still no
number, start over exten => s,7,GotoIf($[foo$ =
foo]?9:8)) ; arg2 is queue
password exten => s,8,Authenticate($)
s,9,AddQueueMember($|Local/$@from-internal) ;
exten => using chan_local allows us to have agents over trunks exten => s,10,Wait(1)
s,11,Playback(agent-loginok)
exten => exten => s,12,Hangup()
; Removes a dynamic agent/member from a Queue ; Prompts for call-back number - in not entered, uses CIDNum [macro-agent-del] exten => s,1,Wait(1)
s,3,Read(CALLBACKNUM,agent-user) ; get callback number
exten => s,2,NoOp exten => from user exten =>
s,4,GotoIf($[foo$ = foo]?5:7)) ; if user just
pressed # or timed out, use cidnum exten => s,5,SetVar(CALLBACKNUM=$)
s,6,GotoIf($[foo$ = foo]?2)) ; if still no
exten => number, start over exten =>
s,7,RemoveQueueMember($|Local/$@from-internal)
exten =>
s,8,Wait(1)
exten => s,9,Playback(agent-loggedoff)
exten => s,10,Hangup() ; arg1 = trunk number, arg2 = number [macro-dialout-enum] exten =>
s,1,Macro(record-enable,$,OUT)
exten =>
s,2,GotoIf($[foo$} = foo]?3)
;check for CID override for exten exten => s,3,SetCallerID($})
;check for CID
exten => s,4,Goto(7) exten => s,5,GotoIf($[foo$} = foo]?7) override for trunk exten => s,6,SetCallerID($})
s,7,SetGroup(OUT_$)
exten => exten => s,8,CheckGroup($}) ; if
we've used up
the max channels, continue at 108 (n+101) exten =>
s,9,SetVar(DIAL_NUMBER=$)
exten => s,10,SetVar(DIAL_TRUNK=$)
exten
=> s,11,AGI(fixlocalprefix) ; this sets DIAL_NUMBER to
the proper dial
string for this trunk exten => s,12,EnumLookup($)
s,13,GotoIf($[$[$ = SIP] | $[$ =
exten => IAX]]?14:63) exten =>
s,14,Dial($)
exten => s,15,Goto(s-$,1)
; if dial fails (ie,
all channels are busy), continue at 116 (n+101) ; exit points for macro exten => s,63,NoOp(EnumLookup failed)
exten => s,109,NoOp(max channels used up) exten => s-BUSY,1,NoOp(Trunk is reporting BUSY)
s-BUSY,3,Wait(60)
exten => s-BUSY,2,Busy() exten => exten => s-BUSY,4,NoOp()
exten => _s-.,1,NoOp(Dial failed due
to $)
[macro-record-enable] exten =>
s,3,StopMonitor()
s,1,GotoIf($)} > 0?2:4) exten => s,2,ResetCDR(w) exten => exten => s,4,GotoIf($["$" = "OUT"]?5:8)
s,5,DBGet(RecEnable=RECORD-OUT/$)
exten => exten =>
s,6,SetVar(CALLFILENAME=OUT$-$-$)
exten =>
s,7,Goto(s,14)
exten => s,8,GotoIf($["$" = "Group"]?9:12)
s,9,AGI(recordingcheck)
exten => exten =>
s,10,SetVar(CALLFILENAME=g$-$-$)
exten =>
s,11,Goto(s,14)
exten => s,12,DBGet(RecEnable=RECORD-IN/$)
s,13,SetVar(CALLFILENAME=$-$)
exten => exten =>
s,14,GotoIf($["$" = "ENABLED"]?15:99)
exten =>
s,15,Monitor(wav49,$, mb)
exten => s,99,Noop(NO RECORDING NEEDED)
s,4,BackGround(this-call-may-be)
;exten => s,3,BackGround(for-quality-purposes) ;exten => ;exten => s,5,BackGround(recorded)
; This macro is for dev purposes and just dumps channel/app variables. Useful when designing new contexts. [macro-dumpvars] exten =>
s,1,Noop(ACCOUNTCODE=$)
exten =>
s,2,Noop(ANSWEREDTIME=$)
exten =>
s,3,Noop(BLINDTRANSFER=$)
exten => s,4,Noop(CALLERID=$)
s,6,Noop(CALLERIDNUM=$)
exten => s,5,Noop(CALLERIDNAME=$) exten => exten =>
s,7,Noop(CALLINGPRES=$)
exten => s,8,Noop(CHANNEL=$)
exten
=> s,9,Noop(CONTEXT=$)
exten
exten => s,10,Noop(DATETIME=$) => s,11,Noop(DIALEDPEERNAME=$)
s,12,Noop(DIALEDPEERNUMBER=$)
exten => exten =>
s,13,Noop(DIALEDTIME=$)
exten => s,14,Noop(DIALSTATUS=$)
s,17,Noop(EXTEN=$)
exten => s,15,Noop(DNID=$) exten => s,16,Noop(EPOCH=$) exten => exten => s,18,Noop(HANGUPCAUSE=$)
exten
=> s,19,Noop(INVALID_EXTEN=$)
s,20,Noop(LANGUAGE=$)
exten => exten => s,21,Noop(MEETMESECS=$)
s,25,Noop(SIP_CODEC=$)
exten => s,22,Noop(PRIORITY=$) exten => s,23,Noop(RDNIS=$) exten => s,24,Noop(SIPDOMAIN=$) exten => exten => s,26,Noop(SIPCALLID=$)
s,28,Noop(TIMESTAMP=$)
exten => s,27,Noop(SIPUSERAGENT=$) exten => exten => s,29,Noop(TXTCIDNAME=$)
s,31,Noop(TOUCH_MONITOR=$)
exten => s,30,Noop(UNIQUEID=$) exten => exten =>
s,32,Noop(MACRO_CONTEXT=$)
exten =>
s,33,Noop(MACRO_EXTEN=$)
exten =>
s,34,Noop(MACRO_PRIORITY=$)
; ############################################################################ ; Applications [app] ; ############################################################################ ; [app-directory] ;DIR-CONTEXT set in Digital Receptionist exten => #,1,Wait(1)
#,2,AGI(directory,$,ext-local,$$o)
exten => exten => #,3,Playback(vm-goodbye)
; *411 will access the
exten => #,4,Hangup entire directory (not just a single context) exten => *411,1,Answer
*411,2,Wait(1)
exten => exten =>
*411,3,AGI(directory,general,ext-local,$$)
exten => *411,4,Playback(vm-goodbye)
exten
exten => *411,5,Hangup exten => h,1,Hangup => o,1,GotoIf($["foo$" =
"foo"]?from-pstn,s,1:from-pstn,$,1)
[app-dnd] exten => *78,1,Answer
*78,3,DBput(DND/$=YES)
exten => *78,2,Wait(1) exten => exten =>
*78,4,Playback(allison7/do-not-disturb)
exten => *78,5,Playback(activated)
exten
=> *78,6,Macro(hangupcall)
*79,3,DBdel(DND/$)
exten => *79,1,Answer exten => *79,2,Wait(1) exten => exten => *79,4,Playback(allison7/do-not-disturb)
exten => *79,5,Playback(de-activated) exten => *79,6,Macro(hangupcall) [app-messagecenter] exten => *98,1,Answer
*98,3,VoiceMailMain(default)
exten => *98,2,Wait(1) exten => exten => *98,4,Macro(hangupcall)
'mailbox' prompt. Useful for
exten => _*98X.,1,Answer ; can dial *98<exten> to skip speedial. exten => _*98X.,2,Wait(1)
_*98X.,3,VoiceMailMain($@default)
exten => exten => _*98X.,4,Macro(hangupcall)
*97,3,VoicemailMain($@default)
exten => *97,1,Answer exten => *97,2,Wait(1) exten => exten => *97,4,Macro(hangupcall)
[app-callwaiting] exten => *70,1,Answer
*70,3,DBput(CW/$=ENABLED)
exten => *70,2,Wait(1) exten => exten => *70,4,Playback(callwaiting)
*71,1,Answer
exten => *70,5,Playback(activated) exten => *70,6,Macro(hangupcall) exten => exten => *71,2,Wait(1)
exten
exten => *71,3,DBdel(CW/$) exten => *71,4,Playback(callwaiting) exten => *71,5,Playback(de-activated) => *71,6,Macro(hangupcall)
[app-callforward] ; dialed call forward app - forwards calling extension exten => _*72.,1,DBput(CF/$=$)
_*72.,4,Playback(loligo/call-fwd-unconditional)
exten => _*72.,2,Answer exten => _*72.,3,Wait(1) exten => exten =>
_*72.,5,Playback(loligo/for)
exten => _*72.,6,Playback(loligo/extension)
exten
=> _*72.,7,SayDigits($)
;
exten => _*72.,8,Playback(loligo/is-set-to) exten => _*72.,9,SayDigits($) exten => _*72.,10,Macro(hangupcall) prompting call forward app - forwards entered extension exten => *72,1,Answer
*72,8,Read(toext,then-press-pound)
exten => *72,2,Wait(1) exten => *72,3,BackGround(allison7/please-enter-your) exten => *72,4,Playback(extension) exten => *72,5,Read(fromext,then-press-pound) exten => *72,6,Wait(1) exten => *72,7,BackGround(ent-target-attendant) exten => exten => *72,9,Wait(1)
*72,10,DBput(CF/$=$)
exten => exten =>
*72,11,Playback(call-fwd-unconditional)
exten => *72,12,Playback(for)
*72,13,Playback(extension)
exten => exten => *72,14,SayDigits($)
*72,15,Playback(is-set-to)
exten => exten => *72,16,SayDigits($)
*72,17,Macro(hangupcall)
exten => ; cancels dialed extension call forward exten =>
_*73.,1,DBdel(CF/$)
exten => _*73.,2,Answer
_*73.,5,Playback(call-fwd-cancelled)
exten => _*73.,3,Wait(1) exten => _*73.,4,SayDigits($) exten => exten => _*73.,6,Macro(hangupcall)
;
cancels call forward for calling extension exten =>
*73,1,DBdel(CF/$)
exten => *73,2,Answer
*73,5,Macro(hangupcall)
exten => *73,3,Wait(1) exten => *73,4,Playback(loligo/call-fwd-cancelled) exten => ; dialed call forward on busy app - forwards calling extension when busy exten => _*90.,1,DBput(CFB/$=$)
exten
=> _*90.,2,Answer
_*90.,4,Playback(loligo/call-fwd-on-busy)
exten => _*90.,3,Wait(1) exten => exten => _*90.,5,Playback(loligo/for)
_*90.,7,SayDigits($)
exten => _*90.,6,Playback(loligo/extension) exten => exten => _*90.,8,Playback(loligo/is-set-to)
;
exten => _*90.,9,SayDigits($) exten => _*90.,10,Macro(hangupcall) cancels call forward on busy for calling extension exten =>
*91,1,DBdel(CFB/$)
exten => *91,2,Answer
exten => *91,3,Wait(1) exten => *91,4,Playback(call-fwd-on-busy) exten => *91,5,Playback(de-activated) exten => *91,6,Macro(hangupcall) exten => h,1,Hangup [app-calltrace] ; We can't have our timeouts or dial digits collide with other applications ; or extensions, so we build the app in pieces exten =>
*69,1,Goto(app-calltrace-perform,s,1)
[app-calltrace-perform] exten =>
s,1,Answer
exten => s,2,Wait(1)
s,3,Background(allison7/info-about-last-call)
exten => exten =>
s,4,Background(allison7/telephone-number)
exten =>
s,5,Dbget(lastcaller=CALLTRACE/$)
exten =>
s,6,GotoIf($[$]?7:13)
exten => s,7,SayDigits($)
s,8,DigitTimeout(3)
exten => exten => s,9,ResponseTimeout(7)
s,10,Background(loligo/to-call-this-number)
exten => exten =>
s,11,Background(allison7/press-1)
exten => s,12,Goto(15)
s,13,Playback(loligo/from-unknown-caller)
exten => exten => s,14,Macro(hangupcall)
exten
=> s,15,NoOp
i,1,Playback(vm-goodbye)
exten => 1,1,Goto(from-internal,$,1); exten => exten => i,2,Macro(hangupcall)
t,1,Playback(vm-goodbye)
exten => exten => t,2,Macro(hangupcall)
; ############################################################################ ; Inbound Contexts [from] ; ############################################################################ [from-sip-external] ;give external sip users congestion and hangup exten =>
_.,1,AbsoluteTimeout(15)
exten => _.,2,Congestion
exten => _.,3,Hangup [from-internal] ;allow phones to use applications include => app-directory
include
include => app-dnd include => app-callforward include => app-callwaiting => app-messagecenter
from-internal-custom
include => app-calltrace include => parkedcalls include => ;allow phones to dial other extensions include => ext-fax
ext-zapbarge
include => ext-local include => ext-group include => ext-queues include => include => ext-meetme
;allow phones to access trunks
include => ext-record include => ext-test include => outbound-allroutes
s,1,Macro(hangupcall)
exten => exten => h,1,Macro(hangupcall)
; ############################################################################ ; Extension Contexts [ext] ; ############################################################################ [ext-zapbarge] exten => 888,1,SetGroup($)
exten => 888,2,Answer exten => 888,3,Wait(1) exten => 888,4,ZapBarge exten => 888,5,Hangup [ext-meetme] exten => _8X,1,Answer
_8X,3,GotoIf($[$ = $]?5:4)
exten => _8X,2,Wait(1) exten => exten =>
_8X,4,MeetMe($|sM)
exten => _8X,5,MeetMe($|asM)
exten =>
_8XX,1,Answer
exten => _8XX,2,Wait(1)
$]?5:4)
exten => _8XX,3,GotoIf($[$ = exten => _8XX,4,MeetMe($|sM)
_8XX,5,MeetMe($|asM)
exten => exten => _8XXX,1,Answer
_8XXX,4,MeetMe($|sM)
exten => _8XXX,2,Wait(1) exten => _8XXX,3,GotoIf($[$ = $]?5:4) exten => exten => _8XXX,5,MeetMe($|asM)
exten =>
_8XXXX,1,Answer
exten => _8XXXX,2,Wait(1)
_8XXXX,3,GotoIf($[$ = $]?5:4)
exten => exten =>
_8XXXX,4,MeetMe($|sM)
exten => _8XXXX,5,MeetMe($|asM)
[ext-fax] exten => s,1,Answer
in_fax,1,GotoIf($[$ = system]?2:analog_fax,1)
exten => s,2,Goto(in_fax,1) exten => exten =>
in_fax,2,Macro(faxreceive)
exten => in_fax,3,system(tiff2ps -2eaz -w 8.5 -h 11
$ |
ps2pdf - $.pdf) exten => in_fax,4,system(mime-construct
--to $ --subject
"Fax from $ $" --attachment $.pdf --type application/pdf --file $.pdf) exten => in_fax,5,system(rm $ $.pdf)
is disabled,
exten => in_fax,6,Hangup exten => analog_fax,1,GotoIf($[$ = disabled]?3:2) ;if fax just hang up exten => analog_fax,2,Dial($,20,d)
analog_fax,3,Hangup
exten => ;exten => out_fax,1,wait(7)
out_fax,1,txfax($|caller)
exten => exten => out_fax,2,Hangup
h,1,Hangup()
exten => [ext-record] exten => *77,1,Wait(2)
*77,2,Record($ivrrecording:wav)
exten => exten => *77,3,Wait(2)
*77,4,Hangup
exten => exten => *99,1,Playback($ivrrecording)
*99,2,Wait(2)
exten => exten => *99,3,Hangup
;this is where parked calls go if they time-out. Should probably re-ring [default] include => ext-local
s,1,Playback(vm-goodbye)
exten => exten => s,2,Macro(hangupcall)
[ext-test] exten =>
7777,1,Goto(from-pstn,s,1)
exten => 666,1,Goto(ext-fax,in_fax,1)
h,1,Macro(hangupcall)
exten => ;echo test exten => *43,1,Answer
*43,5,Playback(demo-echodone)
exten => *43,2,Wait(2) exten => *43,3,Playback(demo-echotest) exten => *43,4,Echo exten => exten => *43,6,Hangup
| ||||||||||||||||
|
Posted by Enzo Michelangeli on July 14, 2005, 6:08 am
Please log in for more thread options estropelic wrote: > Hello Guys,
> > I'm somewhat of a newbie and am desperately seeking for some help... > > I've managed to get asterisk up and running on my server, and signed > up with a broadvoice account... > > I'm having no problem dialing and communicating between extensions, > but whenever anyone tries to call my broadvoice account, they are > greeted by no ring or anything, but rather simply a direct to > voicemail... > > Also, the most annoying is when I try to place an outside call... > > At that point, if the call is to a regular phone number, I'll get a > message asking me to enter my password... followed by pound... Hmm, perhaps your registration with sip.broadvoice.com fails, so that callers see you as offline and when you try to place a call you are asked to authenticate yourself. What is displayed if from the CLI (started from the command line prompt with "asterisk -rvvvv") you enter "sip show registry"? Also, the syntax of your "register" line in sip.conf looks weird: register =>
3055741...@sip.broadvoice.com:MYSECRETPASS:3055741...@sip.broadvoice.com/200
I would have used (assuming that "3055741..." is your broadvoice number): register => 3055741...:MYSECRETPASS@sip.broadvoice.com/200
Enzo | ||||||||||||||||
| Similar Threads | Posted |
| NEWBIE HELP asterisk@home + Broadvoice setup | July 11, 2005, 2:20 pm |
| VONAGE Newbie w/newbie question | August 11, 2007, 9:40 am |
| Newbie help pls! | November 17, 2004, 1:21 am |
| Newbie | March 13, 2005, 12:48 am |
| newbie | March 25, 2005, 12:15 am |
| Help for a Newbie | May 4, 2005, 7:12 am |
| Newbie Question | June 26, 2006, 12:18 am |
| PLEASE HELP - A newbie question | June 30, 2008, 9:51 am |
| RTP: Newbie General Questions | November 27, 2005, 11:09 am |
| Newbie SIP Server question | November 15, 2006, 12:03 pm |
| voip newbie seeks help | August 9, 2007, 2:44 pm |
| Broadvoice? | October 27, 2004, 2:02 am |
| Broadvoice | June 16, 2005, 4:10 pm |
| Residential VOIP newbie questions | August 12, 2004, 1:07 pm |
| VoIP newbie seeks advice! | April 14, 2005, 3:57 pm |

NEWBIE HELP asterisk@home + Broadvoice setup
Yahoo!
Windows Live
del.icio.us
digg
Netscape 

