[Asterisk-Dev] Asterisk Manager and app_dial challenge.

Zac Wolfe zacw at safisys.com
Tue Oct 12 16:06:17 MST 2004


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:b.t.roy at brianandkelly.ws]
Sent: Tuesday, October 12, 2004 3:35 PM
To: asterisk-dev at lists.digium.com
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




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20041012/f6c5a1bf/attachment.htm


More information about the asterisk-dev mailing list