Re: [asterisk-users] how to get the status of failed call files

2007-02-01 Thread Rich Doughty

Richard Lyman wrote:

Rich Doughty wrote:

i am creating call files, and catching successfully the ones that don't
connect in a 'failed' extension. can anyone tell me how to find out the
reason for the failure (ie busy, no answer).

${DIALSTATUS} doesn't appear to get set (presumably because Dial() isn't
used) and channel_status doesn't seem to be any good.

thanks in advance.


the event you received for OriginateFailure has a 'Reason: ' code.

that code breaks down as

0 = UNKNOWN FAILURE or DISCONNECT
3 = AST_CONTROL_RINGING (no answer)
5 = AST_CONTROL_BUSY
1 = AST_CONTROL_HANGUP
8 = AST_CONTROL_CONGESTION


i didn't originate the call with manager, but with a call file, so i can't
get manager events. i there any other way of finding this out?


--

  - Rich Doughty
___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] how to get the status of failed call files

2007-02-01 Thread Rich Doughty

Richard Lyman wrote:

Rich Doughty wrote:

Richard Lyman wrote:

Rich Doughty wrote:

i am creating call files, and catching successfully the ones that don't
connect in a 'failed' extension. can anyone tell me how to find out the
reason for the failure (ie busy, no answer).

${DIALSTATUS} doesn't appear to get set (presumably because Dial() 
isn't

used) and channel_status doesn't seem to be any good.

thanks in advance.


the event you received for OriginateFailure has a 'Reason: ' code.

that code breaks down as

0 = UNKNOWN FAILURE or DISCONNECT
3 = AST_CONTROL_RINGING (no answer)
5 = AST_CONTROL_BUSY
1 = AST_CONTROL_HANGUP
8 = AST_CONTROL_CONGESTION


i didn't originate the call with manager, but with a call file, so i 
can't

get manager events. i there any other way of finding this out?


if DIALSTATUS or HANGUPCAUSE don't have what you need then you will need 
to mod pbx.c


look for a section of code that looks like this

   /* create a fake channel and execute the failed 
extension (if it exists) within the requested cont
   /* check if failed exists */
   if (ast_exists_extension(chan, context, failed, 
1, NULL)) {

   chan = ast_channel_alloc(0);
   if (chan) {
   ast_copy_string(chan-name, 
OutgoingSpoolFailed, sizeof(chan-name));
   if (!ast_strlen_zero(context))
   ast_copy_string(chan-context, 
context, sizeof(chan-context));
   ast_copy_string(chan-exten, failed, 
sizeof(chan-exten));
   chan-priority = 1;
   ast_set_variables(chan, vars);
insert pbx_builtin_var here --
   ast_pbx_run(chan);

since DIALSTATUS and HANGUPCAUSE are both protected, you will probably 
have to create another such as FAILEDCODE.


i hope this helps.


ok. thanks. HANGUPCAUSE only seems to return 0. if it's not possible to
find this out whilst using call files (as it appears) i'll take a look
at using manager.

--

  - Rich Doughty
___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] how to get the status of failed call files

2007-01-31 Thread Rich Doughty

i am creating call files, and catching successfully the ones that don't
connect in a 'failed' extension. can anyone tell me how to find out the
reason for the failure (ie busy, no answer).

${DIALSTATUS} doesn't appear to get set (presumably because Dial() isn't
used) and channel_status doesn't seem to be any good.

thanks in advance.

--

  - Rich Doughty
___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users