You are correct in your sumarisation. The CME system picks up the inbound call, and provides a secondary ring tone to the caller whilst it rings your IP phones. I also had this problem and used the work around I am about to tell you. The second problem I had with your current method is that when the caller hangs up, the CME system is unable to detect this easily. Therefore your IP phones will continue to ring, even though there is no one on the other end of the line. Sometimes, I would pick up the IP phone and there would be no one there. The below configuration overcomes this issue:
timing sup-disconnect 85
connection plar opx 1000
caller-id alerting line-reversal
caller-id alerting dsp-pre-allocate
The "connection plar opx" command followed by the pilot number or the number you have assigned to your many phones uses the "offline private extension (opx)" command. This allows the CME system to detect the inbound call by the ringing signal, and alert your phones on the number specified but not actually connect, or pick up the call until someone answers one of the IP phones. The caller only ever hears the ringing signal provided by your PSTN. When no one answers the IP phones, your PSTN will divert the call to the voice mail.
The next issues is that how do you know that you have a voice mail? In my case the telco changes the dial tone to signal this fact. I never hear this dial tone as I hear the tone provided by the CME. In my case I either just dial the telco's voicemail system by pressing my "messages" button, or configure a dial-peer with a number that simply picks up the line and allows me to listen to the telco dial tone.
One other way in which I prefer to have all phones ring is by giving each extension a unique number to allow internal calling, but to configure a parallel hunt group so all phones ring simultaneously that are within the hunt group.
If you don't mind me asking, what is your country of residence?
Cool Pat glad that worked!
I am in Great Britian. I have impedance matched the copper pair for my telco. If you do not do this you can get echo and noise, apparently.
The timing command allows the CME system to ensure that the far end has actually hung up. http://www.cisco.com/en/US/docs/ios/12_3t/voice/command/reference/vrht_t3_ps5207_TSD_Products_Command_Reference_Chapter.html#wp1627898