I've recently installed FreePBX to act as a link between a SIP soft phone and my Google Talk account. It was easy to set up and outbound calls work just fine, but I've run into two problems with inbound calls that I'm not sure how to resolve.
I'm using an inbound route to forward all calls from Google to my soft phone.
If the soft phone is not currently registered, Asterisk answers and immediately generates a fast-busy signal (reporting
CHANUNAVAILin the logs), and the call is lost.
If the soft phone is registered, Asterisk "answers" the call before rining the soft phone, which means that other Google Talk clients never ring (since from their perspective someone has answered the call).
For solving (1) seems like I could use the
ChanIsAvail() function (or this answer) to prevent Asterisk from answering in the event that the phone isn't registered. However, I'm not sure what to do about (2), because the behavior I want is for Asterisk to not "answer" the call until I answer the call on the soft phone.
How do I configure Asterisk (ideally within the FreePBX framework) such that I can continue to receive calls at other Google Talk clients in addition to forwarding them to a SIP phone?