Summary:ASTERISK-05648: Getting 'detailed' cause instead of only DIALSTATUS
Reporter:Manuel Guesdon (mguesdon)Labels:
Date Opened:2005-11-19 06:31:31.000-0600Date Closed:2005-11-20 19:44:40.000-0600
Versions:Frequency of
Description:Dial status don't give enough information about failure. For example:
with a wrong exten passed to a sip provider, we get a 484 Code (Address Incomplete) from the provider but the dialstatus is NOANSWER. Which is wrong. Without the real cause, we can't tell back to caller that is has dialed a wrong number.
Same thing with, for example, 404 error code (not found/unattributed number) which produce a DIALSTATUS=CONGESTION

May be we can keep DIALSTATUS as it is now but have another variable (DIALSTATUSEXTENDED ?) with contain 'real' cause (from cause.h). AFAIK, app_dial get this cause (it use HANDLE_CAUSE, at least in cvs head).

May be even better: have a DIALSTATUSEXTENDEDxx for each destination of the dialstring:
Dial(SIP/dst1&IAX/dst2,SIP/dst3,,) would produce
DIALSTATUSEXTENDED1: result of dialing SIP/dst1 if any result
DIALSTATUSEXTENDED2: result of dialing IAX/dst2 if any result
DIALSTATUSEXTENDED3: result of dialing SIP/dst3 if any result

Comments:By: Serge Vecher (serge-v) 2005-11-19 12:44:57.000-0600

Manuel: I believe this was implemented in 1.2 -- check it out. Since this is a new feature, it will not be backported to 1.0.9. You should strongly consider an upgrade at this point.

By: Olle Johansson (oej) 2005-11-20 09:00:09.000-0600

Check HANGUPCAUSE - that is where you find the detailed PRI cause.

By: Russell Bryant (russell) 2005-11-20 19:44:22.000-0600

Please upgrade to 1.2.0.  1.0 pretty much won't be updated anymore, unless it's a severe security fix or crash.