Discussion:
How to carry out an ECT with CAPI2.0
(too old to reply)
S***@gmail.com
2006-06-13 05:44:10 UTC
Permalink
Hi all,

I'm using an Eicon BRI with CAPI and am trying to write a program to
transfer a currently active call to another number.

Can I use ECT to do this?
From what I read in the CAPI Spec, this is what I think I should be
doing:

1) Place the active inward call on hold.
2) Issue a B3 Disconnect on the held B channel.
3) Make an outgoing call to the transferee .
4) Issue an ECT Facility Request.

Is this the correct way to proceed?

Also, what is a consultation transfer and a blind transfer, are these
two terms related to Implicit ECT and Explicit ECT in any way?
Tobias Erichsen
2006-06-13 07:04:43 UTC
Permalink
Post by S***@gmail.com
Hi all,
I'm using an Eicon BRI with CAPI and am trying to write a program to
transfer a currently active call to another number.
Can I use ECT to do this?
From what I read in the CAPI Spec, this is what I think I should be
1) Place the active inward call on hold.
2) Issue a B3 Disconnect on the held B channel.
3) Make an outgoing call to the transferee .
4) Issue an ECT Facility Request.
Is this the correct way to proceed?
Also, what is a consultation transfer and a blind transfer, are these
two terms related to Implicit ECT and Explicit ECT in any way?
You got the order wrong. If you have an established L3 connection
on your active call, you could either do a DISCONNECT_B3_REQ
before you hold the call, or this will be done implicitely by doing the
hold (since there is no b-channel attached to the call anymore, the
CAPI sends you a DISCONNECT_B3_IND).

Implicit and Explicit ECT don't have anything to do with consultation
or blind transfer. When doing an ECT, depending on the network
or pbx you are attached to, those two modes of ECT could be
available, so you need to use the one or the other depending on the
type of PBX or network. Implicit ECT connects an active call with
a call in held-state. You only specify the Call-Reference of the one
call the other is identificed "implicitely". This may fail, if you have an
application which handles multiple calls, since then the PBX can't
be sure if you want to transfer active cal A with held call A and active
call B with held call B or the other way around - to be certain the
specification for ECT allows to retrieve some kind of "linkage-id"
of the call that was formerly implicetely identified. After getting back
this ID, both calls to be transferred can be explicitely identified.

The whole thing we were talking about was a consultation transfer.
The blind-transfer is like Call-Deflection, only in active call-state.
So you just specify a destination-number and that's all. Most of
the CAPI-implementations use the CAPI-"CD" feature to achieve
this. So if you call CD in state alerting, it will in fact do a CD to
the network, but if you call CD in state active it would probably
do a blind-transfer (if it is supported by the network underneath)

Best regards,
Tobias
S***@gmail.com
2006-06-13 07:54:55 UTC
Permalink
Thanks Tobias,

I'm a little clearer on the what to do now. For a blind transfer, CD
sounds good.

But, my problem is that I am using CAPI as an interface for a VXML
based IVR.
VXML Supports a transfer mode called a bridge transfer.
The scenario goes like this

1) C1 calls the IVR and connects with it.
2) The IVR sees a transfer tag in the VXML script
3) The IVR transfers the call to C2
4) C1 and C2 speak for a while
5) C2 disconnects.
6) The IVR resumes processing of the VXML script (now being connected
with C1)
7) C1 or the IVR disconnect.

Now, I havent been able to figure out how or wether this can be done
using ECT.

All I can think of is that my capi implementation should call C2 (C1
already being connected) on another channel and then place incomming
data from C1 onto C2's channel and viceversa..

Does this make sense to you? Do you know of any better way of doing
this?
Tobias Erichsen
2006-06-13 21:22:03 UTC
Permalink
Post by S***@gmail.com
Thanks Tobias,
I'm a little clearer on the what to do now. For a blind transfer, CD
sounds good.
But, my problem is that I am using CAPI as an interface for a VXML
based IVR.
VXML Supports a transfer mode called a bridge transfer.
The scenario goes like this
1) C1 calls the IVR and connects with it.
2) The IVR sees a transfer tag in the VXML script
3) The IVR transfers the call to C2
4) C1 and C2 speak for a while
5) C2 disconnects.
6) The IVR resumes processing of the VXML script (now being connected
with C1)
7) C1 or the IVR disconnect.
Now, I havent been able to figure out how or wether this can be done
using ECT.
All I can think of is that my capi implementation should call C2 (C1
already being connected) on another channel and then place incomming
data from C1 onto C2's channel and viceversa..
Does this make sense to you? Do you know of any better way of doing
this?
In fact this is no "real" call-transfer at all. This scenario is also called
"call-tromboning"
and is achieved with CAPI using the Line Interconnect feature. After the
call to C2
is established, you issue a Line Interconnect connect request specifying one
of the
PLCIs as Main-PLCI and the other in the Participant struct.

Tobias
S***@gmail.com
2006-06-14 07:42:26 UTC
Permalink
Thanks, that's exactly what I want to do... It saves me the trouble of
routing data between channels in the upper layer.

One question though, .... Will I get a Disconnect Indication when
either of participants disconnects?
Tobias Erichsen
2006-06-14 08:58:48 UTC
Permalink
Post by S***@gmail.com
Thanks, that's exactly what I want to do... It saves me the trouble of
routing data between channels in the upper layer.
One question though, .... Will I get a Disconnect Indication when
either of participants disconnects?
The PLCI-handling works just like before - just the audio-channels
are routed through...

Tobias

Loading...