<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
<div class="moz-text-html" lang="x-western"> <font
 face="Arial, Helvetica">Hello again,<br>
I&nbsp; am reposting this issue since I realized I&nbsp; posted in an existing
thread ( I am sorry about that). <br>
I am still faced with the same problem since long time: <br>
The question is how to correctly handle failed calls. <br>
In my application I want to make&nbsp; hundreds of outgoing calls
automatically. <br>
When the callee&nbsp; pick up the phone he gets a playback message and give
an acknowledge by means of dtmf code. <br>
I make use of manager command originate, something like <br>
Action:originate <br>
channel: ZAP/g1/XXXX <br>
Variable:X|Y|Z <br>
extension: test <br>
the extension test is something like <br>
[test] <br>
exten &nbsp;s,1 , wait ()<br>
exten &nbsp;s, 2 , answer ()<br>
exten s, 3 playback(XX) <br>
The problem is since I don't use the application dial&nbsp; inside the
extension I
cannot get any value from <br>
DIALSTATUS or HANGUPCAUSE variable <br>
I tried several strategies: <br>
1) <br>
change the logic and use local pseudo channel <br>
In the originate command if I use channel: local/XXXXX@test1/n <br>
where test1 is:<br>
[test1] <br>
exten =&gt; _.,1,Dial(ZAP/g1/g${EXTEN}) <br>
exten =&gt; _.,2,NoOp( 2 HANGUPCAUSE is ${HANGUPCAUSE}) <br>
exten =&gt; _.,3,NoOp( 2 DIALSTATUS is ${DIALSTATUS}) <br>
exten =&gt; _.,4,NoOp( &nbsp;number is ${number}) <br>
exten =&gt; _.,5,Hangup <br>
<br>
I got the correct HANGUP value ( ie BUSY) but unfortunately &nbsp;I cannot
see the variables set on the originate command.<br>
I wonder&nbsp; why not? <br>
<br>
2) <br>
<br>
I tried to use the Async=True parameter in the originate command and
magically <br>
* make a goto to extent failed. <br>
Unfortunately in such&nbsp; extension I can't see any value in HANGUPCAUSE
or
<br>
DIALSTATUS. Why? <br>
<br>
3)&nbsp; this is the strategy I am currently using<br>
In the manager api when I send the originate command I wait for the
response: if it is&nbsp; Error - reason : Originate failed<br>
I assume that such a call fails for one of this reason: busy, chan
unavailable, wrong number.<br>
Unfortunately this solution, even not giving detailed information about
the reason of failure doesn't work any more with a new pri line the
italian pri provider telecom installed recently. With this pri
interface&nbsp; , the originate command now return&nbsp; Success: Call&nbsp; queueed
even if the line is busy. This is a very strange behaviour probably due
to a&nbsp; pri different&nbsp; information&nbsp; not correctly catched.<br>
&nbsp;<br>
So how can I know what is going on when a call fail? <br>
Regards<br>
</font>
<pre class="moz-signature" cols="72">-- 

Ing. Luca Casavola
(Technical Manager)

Software Products Italia
Milano / Roma / Firenze

tel. ++39 055/33651
fax  ++39 055/340558
e-mail: <a class="moz-txt-link-abbreviated"
 href="mailto:luca.casavola@softpi.it">luca.casavola@softpi.it</a>
   www: <a class="moz-txt-link-freetext" href="http://www.softpi.it">http://www.softpi.it</a>

</pre>
</div>
<pre class="moz-signature" cols="72">
</pre>
</body>
</html>