Yelling isn't productive and it's not going to solve anything. You can totally communicate your frustration without resorting to raising your voice. If anything, making people that distressed is only counterintuitive and counterproductive.
I strongly disagree, I wish it weren't so, but as a matter of fact getting actively frustrated and asking to be escalated to a manager when on the phone with customer-service representative is the only way I've successfully gotten anything resolved as an insignificant customer of a large co. Personally, I detest the waste of emotional energy that involves and particularly abhor contacting customer service for exactly that reason.
edit: For the people down-voting: whether you like it or not is frankly irrelevant. This is in fact my real experience when dealing with the customer-service for any number of banks, cable, mobile providers, flight/hotel booking sites, rental agencies etc.
Kindness works much better. You can get stern if the agent is screwing something up themselves (like if they're failing to understand your actual problem, or are giving you irrelevant advice), but even then it comes down to being assertive, not yelling. By all means ask to be escalated to a manager when it's needed, but you can always do so in a calm and professional way.
Being mean motivates them to get rid of you as quickly as possible. Being nice motivates them to reciprocate. The former can work to get problems solved, but the latter works more reliably and produces better results.
First of all, there is a fine line between being assertive and aggressive. If you have an issue but aren't assertive with first tier customer support, your attempts may get rebuffed. It's a combination of lack of knowledge (haven't worked there long enough or convoluted rules) and wanting to stay within their working parameters (e.g. accidentally giving promo pricing to someone who doesn't meet the requirements).
In this case, be firm without being an asshole. State your issue with all of the necessary details, what actually happened, what you were expecting to happen, etc. If they can't meet your request, ask for an explanation. If need be, have them explain the policy regarding your issue.
Secondly, the first tier of customer support is generally limited in what they're able to accomplish without some kind of supervisor intervention. If they aren't solving your problem, you don't need to get angry and raise your voice at the low man on the totem pole. If you say, "It seems that you aren't able to take care of my issue. May I please have my call escalated?" That has never failed me before.
In my experience, phone support for most situations is not something that people are lining up to do. They probably hate answering just as much as you hate calling. Aggression can absolutely be avoided.
Remember: You catch more flies with honey than you do with vinegar