It actually gets more complicated as you add additional asterisk servers to scale. If the call “traverses” from one to another there is virtually no way to “track” it and unify it back. That is a stumbling block I have been considering… but not very hard as I have been pursuing the “non-intrusive” method.

 

I’ll contact you off-list to discuss.

 

Brian

 

-----Original Message-----
From: Zac Wolfe [mailto:[EMAIL PROTECTED]
Sent:
Tuesday, October 12, 2004 4:06 PM
To: 'Asterisk Developers Mailing List'
Cc: [EMAIL PROTECTED]
Subject: RE: [Asterisk-Dev] Asterisk Manager and app_dial challenge.

 

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