This was always possible in the past, however does not work in the current
release.
 
I believe this is a bug.
 
To: asterisk-users at lists.digium.com
From: cervajs at fpf.slu.cz
Date: Fri, 9 Oct 2015 10:04:47 +0200
Subject: Re: [asterisk-users] Storing HANGUPCAUSE in CDR
  
    
  
  
    search in archives
      save the records to another table like cdr_extended
      
      
      Dne 7.10.2015 v 15:26 Ross Beer napsal(a):
    
    
      
      Hi,
        
        
        I have the following code that operates when a channel is
          hung-up:
        
        
        
          
            [record-hangupcause]
          
          
            exten => 1,n,Set(CDR(hangupcause)=${HANGUPCAUSE})
          
          
            exten => s,n,Return()
          
        
        
        
        Before the dial a hangup handler is registered:
        
        
        
          Set(CHANNEL(hangup_handler_push)=record-hangupcause,s,1)
        
        
        
        The routine is called and the variables are being set,
          however not on the channel's CDR which made the call. I
          believe this is due to the CDR being closes as soon as the
          dial returns. 
        
        
        By changing the cdr option 'endbeforehexten=no' this should
          keep the CDR accessible, however all this does is cause
          another CDR to be created for the 'h' extension.
        
        
        Is there a way to update the CDR so that a result can be
          stored per dial?
        
        
        Thank you in advance,
        
        
        Ross
        
        
        
        
        
        
        
        
      
      
      
      
    
    
    
    -- 
---------------------------------------
Marek Cervenka
======================================
  
-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello
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/20151009/a5ef7554/attachment.html>
You can use this
 
exten => h,1,Set(CDR(userfield)=Hangupcause:${HANGUPCAUSE})
From: asterisk-users-bounces at lists.digium.com
[mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Ross Beer
Sent: Friday, October 9, 2015 1:52 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion
<asterisk-users at lists.digium.com>
Subject: Re: [asterisk-users] Storing HANGUPCAUSE in CDR
 
This was always possible in the past, however does not work in the current
release.
 
I believe this is a bug.
 
  _____  
To: asterisk-users at lists.digium.com <mailto:asterisk-users at
lists.digium.com>
From: cervajs at fpf.slu.cz <mailto:cervajs at fpf.slu.cz> 
Date: Fri, 9 Oct 2015 10:04:47 +0200
Subject: Re: [asterisk-users] Storing HANGUPCAUSE in CDR
search in archives
save the records to another table like cdr_extended
Dne 7.10.2015 v 15:26 Ross Beer napsal(a):
Hi, 
 
I have the following code that operates when a channel is hung-up:
 
[record-hangupcause]
exten => 1,n,Set(CDR(hangupcause)=${HANGUPCAUSE})
exten => s,n,Return()
 
Before the dial a hangup handler is registered:
 
Set(CHANNEL(hangup_handler_push)=record-hangupcause,s,1)
 
The routine is called and the variables are being set, however not on the
channel's CDR which made the call. I believe this is due to the CDR being
closes as soon as the dial returns. 
 
By changing the cdr option 'endbeforehexten=no' this should keep the CDR
accessible, however all this does is cause another CDR to be created for the
'h' extension.
 
Is there a way to update the CDR so that a result can be stored per dial?
 
Thank you in advance,
 
Ross
 
 
 
 
 
-- 
---------------------------------------
Marek Cervenka
======================================
-- _____________________________________________________________________ --
Bandwidth and Colocation Provided by http://www.api-digital.com -- New to
Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello 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/20151009/9d393680/attachment-0001.html>
Hi Andrew,
 
Unfortunately that has stopped working when using chan_pjsip and asterisk 13.
 
The CDR is closed too early after a dial attempt. This is the expected behaviour
for Asterisk 13, however you should be able to set the variable before the CDR
is locked/committed and before another dial attempt.
 
The hangup_handler should be the way to do this as it's run within the same
dial command.
 
I think I will need to raise an issue as this has only stopped working in
Asterisk 13.
 
Thank you for your feedback,
 
Ross
 
From: andrew at convergedgroup.net
To: asterisk-users at lists.digium.com
Date: Fri, 9 Oct 2015 14:50:51 +0200
Subject: Re: [asterisk-users] Storing HANGUPCAUSE in CDR
You can use this exten =>
h,1,Set(CDR(userfield)=Hangupcause:${HANGUPCAUSE})From: asterisk-users-bounces
at lists.digium.com [mailto:asterisk-users-bounces at lists.digium.com] On
Behalf Of Ross Beer
Sent: Friday, October 9, 2015 1:52 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion <asterisk-users
at lists.digium.com>
Subject: Re: [asterisk-users] Storing HANGUPCAUSE in CDR This was always
possible in the past, however does not work in the current release.
 
I believe this is a bug.
 To: asterisk-users at lists.digium.com
From: cervajs at fpf.slu.cz
Date: Fri, 9 Oct 2015 10:04:47 +0200
Subject: Re: [asterisk-users] Storing HANGUPCAUSE in CDRsearch in archives
save the records to another table like cdr_extended
Dne 7.10.2015 v 15:26 Ross Beer napsal(a):Hi,  I have the following code that
operates when a channel is hung-up: [record-hangupcause]exten =>
1,n,Set(CDR(hangupcause)=${HANGUPCAUSE})exten => s,n,Return() Before the dial
a hangup handler is registered:
Set(CHANNEL(hangup_handler_push)=record-hangupcause,s,1) The routine is called
and the variables are being set, however not on the channel's CDR which made
the call. I believe this is due to the CDR being closes as soon as the dial
returns.  By changing the cdr option 'endbeforehexten=no' this should
keep the CDR accessible, however all this does is cause another CDR to be
created for the 'h' extension. Is there a way to update the CDR so that
a result can be stored per dial? Thank you in advance, Ross
 -- ---------------------------------------Marek
Cervenka======================================--
_____________________________________________________________________ --
Bandwidth and Colocation Provided by http://www.api-digital.com -- New to
Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or
update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello
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/20151009/0676fb76/attachment.html>