Interesting sleuthing; thank you.My conclusion is that Google Voice will support 3 outgoing channels and 2 incoming ones. (I suspect, though I did not test, that each incoming channel counts against one of the outgoing ones.)
Using the old AMI might be the reason for the channel originate call setups failing when placed quickly one after the other.An interim report: It appears that although one can eke 3 outgoing channels out of a GV line, Google seems to have problems handling simultaneous call setups: I am currently using the "channel originate" CLI command to place the outgoing calls. If I hit the CLI with three (or more) call requests in quick (or even not-so-quick) succession, the first call almost always succeeds, the second sometimes succeeds, and the
third almost never succeeds. However, if I wait until the first round of call(s) have time to have been well established, then I can generally add a 2nd and/or 3rd channel without any problems. I'm trying to implement a dial-out-and-invite (as opposed to a dial-in) conferencing scheme. As such, this GV behavior is not (yet) a complete showstopper, but is problematic in my situation, as I have no way of telling with this interface whether a call has failed, was busy, or was simply declined. My other three options seem to be (1) use the Originate() dialplan application, (2) use the Asterisk Manager API to dial out, or (3) use Call Files. The conundrum is that it appears that, whichever I choose, in order to get the call's termination status (presuming the called party does not end up in the conference), I'll have to serialize the call set-ups, and this will delay the proceedings significantly. But if I parallel the process, as I have been doing, I cannot discern each call's outcome. This project is mainly as a learning experience for me, but I am open to any suggestions folks might have.