[asterisk-doc] Re: [asterisk-dev] Variable Inheritance, Setting Channel Variables outside of current context

Peter Beckman beckman at purplecow.com
Thu May 18 10:04:02 MST 2006


On Thu, 18 May 2006, Olle E Johansson wrote:

>> My comment was about a channel going into and out of several contexts
>> during a call.  I understand that the execution of the dialplan is linear,
>> and that a context is merely a "function" of sorts, which jumps to that
>> part of the dialplan, executes, then returns to the next action after the
>> call to the different context (if that different context allows it).
>
> That description seems very unclear to me, but it could be a language
> problem since you're not talking clear and straight Swedish here.

  Yah, most people tell me my Swedish sucks.

> We do have an incoming channel. This channel enters the dialplan in a
> preset context where we match the extension with the dialled identifier -
> a number or in the case of SIP a string.
>
> During execution of the dialplan for the incoming channel a lot of things
> can happen, we can jump to other parts of the dialplan within the same
> context or in another context, we can place outbound calls or play stuff.
>
> During an outbound call, nothing happens in the dialplan.

  ... in the current, inbound channel.  In the oubound channel, if the M(x)
  option is passed to Dial, macro (x) defined in the dialplan is processed
  on the outbound channel.

> During a dial, the channel that executes the dial stands still from a
> dialplan point of view.
>
> "During a call" is very unspecific in regards to writing documentation
> for asterisk, it's hard to grasp - do you mean "a call" when two or more
> people have an audio communication path - or from the point an incoming
> channel started execution of the dialplan until we hangup the incoming
> channel and produce a cdr?

  Like I know?! :-)

  For any given inbound channel, the channel will enter the dialplan at the
  context defined for the channel (which may be in the iax.conf, sip.conf,
  or in many different places; we'll ignore HOW it chooses the context for
  now and just assume it is set somewhere).

  At any point during the lifetime of that channel, the channel may be found
  executing the dialplan at any one of several points in the dialplan,
  potentially outside of the context the channel
  (started||was instantiated||began execution) in.

  I usually try to write documentation in more clear terms than my emails,
  but in order to write it, I need to understand it!

Beckman
---------------------------------------------------------------------------
Peter Beckman                                                  Internet Guy
beckman at purplecow.com                             http://www.purplecow.com/
---------------------------------------------------------------------------


More information about the asterisk-doc mailing list