Sponsor: VoiceMeUp - Corporate & Wholesale VoIP Services

VoIP Mailing List Archives
Mailing list archives for the VoIP community
 SearchSearch 

[asterisk-users] Add SIPCALLID of egress leg to CDR


 
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> Asterisk Users
View previous topic :: View next topic  
Author Message
rhartmann3 at gmail.com
Guest





PostPosted: Mon Feb 24, 2014 2:38 pm    Post subject: [asterisk-users] Add SIPCALLID of egress leg to CDR Reply with quote

Hey all,

I've been fighting with this all morning, and I feel like this should be a relatively simple task, but I just can't get it to work.  I currently have a very basic asterisk v11.6 setup with a single extension (a Bria softphone) and a single sip trunk to my carrier.


What I'm trying to accomplish is simply adding the asterisk generated SIPCALLID of the leg between asterisk and the carrier to the CDR when it's written. (This is in addition to the SIPCALLID of the original call leg, which I've already added.)  I've been able to print the SIPCALLID for the carrier leg to the CLI if I jump into a Macro or Gosub from the Dial command (using the M or b options respectively), but that's about it.


From what I can tell, this should be easily accomplished with variable inheritance, but based on what I'm seeing during test that seems to be a one way relationship, as updates in a child channel don't seem to reach the parent.  Am I missing something?  Is there a better way to go about this?


The few questions I've found on forums and mailing list archives on this subject are all from 2007 and earlier, so I'm hoping something new has come along in the last few years and I just haven't found it anywhere.  Can anyone help?


TIA,
Ricky
Back to top
mjordan at digium.com
Guest





PostPosted: Mon Feb 24, 2014 3:51 pm    Post subject: [asterisk-users] Add SIPCALLID of egress leg to CDR Reply with quote

On Mon, Feb 24, 2014 at 1:38 PM, Ricky Hartmann <rhartmann3@gmail.com> wrote:
Quote:
Hey all,

I've been fighting with this all morning, and I feel like this should be a
relatively simple task, but I just can't get it to work. I currently have a
very basic asterisk v11.6 setup with a single extension (a Bria softphone)
and a single sip trunk to my carrier.

What I'm trying to accomplish is simply adding the asterisk generated
SIPCALLID of the leg between asterisk and the carrier to the CDR when it's
written. (This is in addition to the SIPCALLID of the original call leg,
which I've already added.) I've been able to print the SIPCALLID for the
carrier leg to the CLI if I jump into a Macro or Gosub from the Dial command
(using the M or b options respectively), but that's about it.

From what I can tell, this should be easily accomplished with variable
inheritance, but based on what I'm seeing during test that seems to be a one
way relationship, as updates in a child channel don't seem to reach the
parent. Am I missing something? Is there a better way to go about this?

The few questions I've found on forums and mailing list archives on this
subject are all from 2007 and earlier, so I'm hoping something new has come
along in the last few years and I just haven't found it anywhere. Can
anyone help?


You're correct - variable inheritance only goes in one direction, from
the parent to the child. Since the child channel is going to be Party
B in the CDR, variables set on it are unlikely to show up.

I can think of a few options:

1) Use the userfield on the outbound channel to store the SIPCALLID. A
little known fact of the userfield is that, on two channels in a
bridge together, the userfields are concatenated together using a ';'
as a delimiter.
2) Use the MASTER_CHANNEL function to reach back to the parent channel
and set the CDR variable there.

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

--
_____________________________________________________________________
-- 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
Back to top
rhartmann3 at gmail.com
Guest





PostPosted: Mon Feb 24, 2014 4:55 pm    Post subject: [asterisk-users] Add SIPCALLID of egress leg to CDR Reply with quote

Matt,

Both of those suggestions worked perfectly.


Thanks!

Ricky Hartmann | PO Box 1354 Jackson, NJ 08527               

Phone - (732) 580-5853 | eFax - (716) 809-3073


On Mon, Feb 24, 2014 at 3:51 PM, Matthew Jordan <mjordan@digium.com (mjordan@digium.com)> wrote:
Quote:
On Mon, Feb 24, 2014 at 1:38 PM, Ricky Hartmann <rhartmann3@gmail.com (rhartmann3@gmail.com)> wrote:
Quote:
Hey all,

I've been fighting with this all morning, and I feel like this should be a
relatively simple task, but I just can't get it to work.  I currently have a
very basic asterisk v11.6 setup with a single extension (a Bria softphone)
and a single sip trunk to my carrier.

What I'm trying to accomplish is simply adding the asterisk generated
SIPCALLID of the leg between asterisk and the carrier to the CDR when it's
written. (This is in addition to the SIPCALLID of the original call leg,
which I've already added.)  I've been able to print the SIPCALLID for the
carrier leg to the CLI if I jump into a Macro or Gosub from the Dial command
(using the M or b options respectively), but that's about it.

From what I can tell, this should be easily accomplished with variable
inheritance, but based on what I'm seeing during test that seems to be a one
way relationship, as updates in a child channel don't seem to reach the
parent.  Am I missing something?  Is there a better way to go about this?

The few questions I've found on forums and mailing list archives on this
subject are all from 2007 and earlier, so I'm hoping something new has come
along in the last few years and I just haven't found it anywhere.  Can
anyone help?




You're correct - variable inheritance only goes in one direction, from
the parent to the child. Since the child channel is going to be Party
B in the CDR, variables set on it are unlikely to show up.

I can think of a few options:

1) Use the userfield on the outbound channel to store the SIPCALLID. A
little known fact of the userfield is that, on two channels in a
bridge together, the userfields are concatenated together using a ';'
as a delimiter.
2) Use the MASTER_CHANNEL function to reach back to the parent channel
and set the CDR variable there.

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

--
_____________________________________________________________________
-- 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
Back to top
Display posts from previous:   
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> Asterisk Users All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group

VoiceMeUp - Corporate & Wholesale VoIP Services