[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