They way I do dialing is with this AMI packet:
Action: Originate
Channel: Local/dial_number at cfmc_cdi_private
Exten: 1322
Context: default
Priority: 1
Variable: CfMC_ActionID=callE1321
Variable: CfMC_DialInfo=Dahdi/G1/8881231234
Variable: CfMC_RingTimeout=30
ActionID: callE1321
Async: true
And these extensions:
[macro-cfmc_dial_private]
exten => s,1,UserEvent(DidDial,ActionID:${ARG1} & ${UNIQUEID} &
${CHANNEL} &
${ARG2})
[cfmc_cdi_private]
exten => dial_number,1,UserEvent(BeforeDial,ActionID:${CfMC_ActionID} &
${UNIQUEID} & ${CHANNEL} & ${CfMC_DialInfo} & ${CfMC_RingTimeout})
exten =>
dial_number,n,Dial(${CfMC_DialInfo},${CfMC_RingTimeout},ghM(cfmc_dial_privat
e^${CfMC_ActionID}^${CfMC_DialInfo}))
; DIALSTATUS - CHANUNAVAIL CONGESTION NOANSWER BUSY ANSWER CANCEL DONTCALL
TORTURE INVALIDARGS
exten => dial_number,n,UserEvent(AfterDial,ActionID:${CfMC_ActionID} &
${UNIQUEID} & ${CHANNEL} & ${CfMC_DialInfo} & ${DIALSTATUS})
exten => dial_number,n,Hangup()
--
Jim Dickenson
mailto:dickenson at cfmc.com
CfMC
http://www.cfmc.com/
From: John Regal <jregal at gmail.com>
Reply-To: Asterisk Users Mailing List - Non-Commercial Discussion
<asterisk-users at lists.digium.com>
Date: Wed, 3 Jun 2009 14:38:09 -0400
To: 'Asterisk Users Mailing List - Non-Commercial Discussion'
<asterisk-users at lists.digium.com>
Subject: [asterisk-users] Using DIALSTATUS question
Hi all,
I am trying to make decisions in my dialplan based on {DIALSTATUS}. I am
creating calls using AMI (rawman with parameters via URL) with
action:Originate. I am using SIP and an outside voip provider for the calls.
If I define the number to call in the Channel parameter (e.g.
SIP/15555555555 at myvoipprovider, the call gets placed before entering the
context that I defined. I understand that the call only gets put into the
context if the call was answered. If the voip provider returns a busy code,
I cannot test for it in the dialplan since it never entered the context I
defined in the Originate command. Calls that are answered and therefore make
it into the dialplan show {DIALSTATUS} as null (when I echo it from the
context).
How can I programmatically place calls and evaluate dialstatus using SIP?
My sip.conf looks like this:
[general]
disallow=all
allow=ulaw
allow=g729
register => username:secret at 170.17.13.13
[myvoipprovider]
type=friend
secret=secret
username=username
host=sip.myvoipprovider.com
dtmfmode=rfc2833
context=outbound
qualify=yes
canreinvite=no
allow=ulaw
allow=g729
insecure=port,invite
Thanks.
_______________________________________________
-- 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.digium.com/pipermail/asterisk-users/attachments/20090603/d3c20157/attachment.htm