[asterisk-dev] what happens after *(ast_channel_tech->call)() is called?
Moises Silva
moises.silva at gmail.com
Sat Nov 8 00:00:54 CST 2008
That depends on who is calling ast_call(), which is the one calling
zt_call() when the technology is zapata (chan_zap, chan_dahdi).
ast_call is pretty much just a wrapper to call the technology call
method.
In the case of app_dial.c (application responsible for handling
Dial()), after ast_call, the technology driver has placed a call to
whichever destiny was specified. Then, the caller (in this case
app_dial.c) will typically wait for a response by calling ast_waitfor
or ast_waitfor_n to poll over the descriptor of the channel, when the
channel has data, the app_dial calls ast_read() which ask in turn the
channel driver for an ast_frame structure, which can be of type
control, DTMF, video, voice (see enum ast_frame_type) and then will do
whatever wants to do with each frame, for example, upon reading a
control frame of type AST_CONTROL_RINGING, app_dial will call
ast_indicate() on the calling channel, so the other callee can be
notified that the placed call is in ringing state.
Take a look at app_dial.c for more hints.
Moy
On Fri, Nov 7, 2008 at 8:44 PM, Kelvin Chan <kelvinc at positronics.com> wrote:
> Hi list,
>
> I'm tracing out the call flow and wonders what happens after *(ast_channel_tech->call)() is called.
>
> Zaptel for example, what happends when zt_call() returns 0?
>
> Thanks.
>
> Kelvin Chan | Positronics Ent.
> Product Development |
> | unit 272
> 604-628-9330 (direct) | 8128 128th St.
> 604-585-2119 at 104 (main) | Surrey, BC
> 604-585-3056 (fax) | Canada, V3W 1R1
>
>
>
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-dev
>
--
"I do not agree with what you have to say, but I'll defend to the
death your right to say it." Voltaire
More information about the asterisk-dev
mailing list