Calls are sent to voice mail based on a "No answer call forward". If the call is not answered within XX seconds, it forwards to voice mail.
The the valid delay values are 5, 10, 15, 20, 25, and 30 seconds.
There is a way to change this by using GSM codes, or she can call customer service and ask them to reset or change this.
Tell her do this. From the phone app:
You will see results that say "Settings Interrogation Succeeded. Voice Call Forwarding When Unanswered Forwards to +12537094019 Enabled"
Write down that phone number (after the +) This is the voice mail box number
Dial: *61*[voicemail phone number]**[seconds]#
(the 20 in the example above is the seconds before transfering to VM, must be in increments of 5, and no more than 30)
I find that 20 seconds is just about right (about 4 rings) or you may want 25 seconds.
The default should be 15 seconds, but who knows, maybe it got screwed up somehow?
It's worth a shot.
*#61# retrieves the status of call forwarding
*61*[phonenumber]**[sec]# sets the call forward no answer setting.
For more information on GSM codes
Google: GSM codes call forward
Not all GSM codes work on AT&T, and use them with care. But the above I described are safe to use. Just make sure to write down her voice mail box number because it's not the same for everyone and you don't want to lose it.
All else fails, call CS and ask them to re-set the call forward delay.
I should note that some other phones actually let you set this in settings menus rather than have to fiddle with GSM codes, but the iPhone does not.
iPhone 6 128GB on Verizon | iPad Mini 2 Retina 128GB on T-Mobile (free 200MB)