Helper applications

app_capiCD.c: forwards an unanswered call to another phone (does not rely on sservice CD). Example:

exten => s,1,Wait,1exten => s,2,capiCD,12345678

app_capiHOLD.c: puts an answered call on hold, this has nothing to do with asterisk's onhold thingie (music et al) after putting a call onhold, never use the Wait application!

app_capiRETRIEVE.c: gets the holded call back

app_capiECT.c: explicit call transfer of the holded call (must put call on hold first!). This example will ECT the call to 50 using 55 as the callerid/outgoing MSN:

exten => s,1,Answerexten => s,2,capiHOLDexten => s,3,capiECT,55:50

Using CLIR

in the Dial command put a '@' infront of the msn you want to use for dialing out, e.g.:

exten => s,1,Dial(CAPI/@12345678:${EXTEN},30,r)

Enjoying early B3 connects

Early B3 is now configurable in the dialstring :) If you prefix the destination number with a 'b' early B3 will always be used. Also if the call fails because the number is unprovisioned. If you prefix it with a 'B' early B3 will only be used on successful calls, giving you ring indication.

Don't use indications in the Dial command, your local exchange will do that for you:

exten => s,1,Dial(CAPI/12345678:b${EXTEN},30,r) (always early B3, fake indicatons if the exchange does not give us indications)exten => s,1,Dial(CAPI/12345678:B${EXTEN},30,r) (early B3 on success, fake indicatons if the exchange does not give us indications)

You can totally turn B3 off in the Makefile at build time with -DNEVER_EVER_EARLY_B3_CONNECTS.

For normal PBX use you would use the "b" option, always early B3.

Overlap sending (a.k.a. real dialtone)

when you dial an empty number, and have early B3 enabled, with:

Dial(CAPI/12345678:b)

the channel will come up at once and give you the dialtone it gets from the local exchange. At this point the channel is like a legacy phone, now you can send DTMF digits to dial.

More information/documentation and commercial support can be found at: