That's interesting.  I'm sure your idea will work (the pre-link event) but keep in mind that you'll probly have to insert that in multiple places since there are apps and methods other than app_dial that use ast_request. 
 
Yeah at first I was just mucking around with Asterisk and learning C at the same time so I got a little fast and lose with the code changes.  I do plan on going back over that stuff and removing all the changes that aren't completely necessary. 
 
I really think that Asterisk needs a built-in call_uid field (or variable) that ties together mutliple channels into a call "object".  As you've noted, this is a requirement if you want to follow a call throughout it's complete lifecycle (complete with events and error notification) which is, in turn, a necessity for implementing 3rd-party call-control, one of my primary goals for JAsterisk. 
 
I'd love to hear your ideas on a non-intrusive solution!
 
Should we take this discussion offline?
 
Thanks,
Zac

 -----Original Message-----
From: Brian Roy [mailto:[EMAIL PROTECTED]
Sent: Tuesday, October 12, 2004 3:35 PM
To: [EMAIL PROTECTED]
Subject: RE: [Asterisk-Dev] Asterisk Manager and app_dial challenge.

Thanks – I was going to head down the channel path, but I think I have found an even easier way. It should be possible in the do loop in app_dial execute function to insert a manager_event command with both unique ids like the Link event.

 

I was hoping to avoid modifying Asterisk any further… but what the heck.

 

I would also like to talk to you about your JAsterisk project and your plan for VXML and CCXML. I have developed an architecture for a non-intrusive solution which solves for what you are doing, what I am doing and multiple other uses. It would be pure sip and only requires a sip proxy (and gateway if needed).

 

Brian



 

 

 

That's exactly the issue I ran into while working on Jasterisk. My solution was to modify pbx.ast_request to take an additional optional parameter that could act as a call identifier and set a predefined variable in the newly created channel to that variable.  Then, when I receive a "newchannel" or "newstate" event, I can find the channel and check to see if it's already associated with a "call" object.  Or, I suppose you could modify the event to include a "Call_UID" field so you wouldn't have to grab the variable from the channel directly (hey why didn't I do that?).

 

Zac

 

 

_______________________________________________
Asterisk-Dev mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-dev
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to