Dhennys,
I would expect that the ISDN collect call would have some kind of notification about the charge. In E1/R2, the Telebras standard in fact DOES have this notification defined, from what I remember, the problem was that many of the CO switches would not support it, that is why the 'double-answering' is used in most if not all the cases (there is a condition where the double-answering would tear down any call, something to do with the configuration in the PSTN switch). I don't think you can answer/hangup/answer a call in ISDN the way you can in E1/R2 or analog lines...


Armin Schindler wrote:
On Tue, 12 Jul 2005, Dhennys Pestana wrote:

I need to block collect calls on my PBX.

I was able to find information on Google regarding ISDN ZAP channels, but not
ISDN CAPI channels which is my case.

Since there's no information from the Telco that the call is going to be charged
by the callee, if a particular call is automatically answered by the PBX instead
of a real person there's no way to avoid it. There's only a recording AFTER the
call is answered, asking for the callee party to accept it.

By using ZAP channels with HFC ISDN cards, it's possible to use Hangup() and
Flash() commands, which won't do any good on CAPI channels because it will
hangup the call immediatelly.

Note: This situation is exctaly the same with remote access servers (RAS),
commonly used by Internet Service Providers.

Here's an example of what should happen on my scenario:

[default]                         ; External calls comes on "default" context
exten => s,1,Wait,1               ; Wait for all ISDN and CAPI messages
exten => s,2,Answer()             ; PBX actually answers the call
exten => s,3,Wait,1               ; Just in case
exten => s,4,Flash()              ; Avoid collect calls, don't actually hangup
exten => s,5,Wait,1               ; Wait a second (just in case)
exten => s,6,Answer()             ; Now it should work as if it were "s,1"
exten => s,7,BackGround(IVR-menu) ; 1 for sales, 2 for support, 3 for...


Note: Step "s,4" could be also "Hangup()", it won't make any difference.

If it were an analog trunk, it would work flawlessly. Unfortunatelly for digital
trunks, when you hangup the channel the call is dropped immediately.


Yes, because Hangup() means 'disconnect'.
I'm not aware of Flash() and what it is doing, but it is surely not implemented in chan_capi. If someone can tell me what Flash() is supposed to do, we can implement it in chan_capi-cm.


_______________________________________________
Asterisk-Users mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to