CALLERID(num) And CDR(clid) – Originate

Home » Asterisk Users » CALLERID(num) And CDR(clid) – Originate
Asterisk Users 2 Comments

Hello,

A question on channel originating (call files and AMI Originate):

How can I change the CALLERID(num) var (because of the E1 provider needs), but having another númber (the original one) stored on the “clid”
CDR field on the database?

A channel agnostic solution would be the best one, without having to deal with the problem based on what type of Tech used for the outgoing call.

Thanks already, Gabriel

2 thoughts on - CALLERID(num) And CDR(clid) – Originate

  • You can’t. The clid CDR field cannot be modified from the dialplan, and is always set to the caller ID of the channel. If you change the caller ID on the channel, you can expect the CDR clid field to reflect that.

    That being said, if you are using a flexible backend (such as cdr_custom or cdr_adaptive_odbc), you can add a custom column to your CDR records – such as ‘clid_original’ – and use the CDR function to set that value prior to changing the caller ID:

    exten => Set(CDR(clid_original)=${CALLERID(num)})
    exten => Set(CALLERID(num)=6575309)

    Matt


    Matthew Jordan Digium, Inc. | Engineering Manager
    445 Jan Davis Drive NW – Huntsville, AL 35806 – USA
    Check us out at: http://digium.com & http://asterisk.org