Giving your child respect is the primary thing as a parent. If you don't give them the respect they deserve, what kind of parent are you? What kind of example are you showing your children? To sit there and yell at your child, call them names, and have the nerve to scream profanity at them...
You don't deserve to be a parent. And you are damn lucky that someone who is much younger than you does not take that damn phone away from the child you are berating and say the peace that needs to be said. Because apparently, that young adult has more of a paternal bone in their body that they can see your wrong doings. Grow the hell up and be who you need to be to teach those children to be a betterment of mankind. I'm glad your children have matured past you and have grown into fine young adults. They learned nothing from you, and one day you'll know as much when they flee from your touch and your words.
And you'll have no one to blame but yourself.