WOW I had an epiphany today. I have attended a couple of presentations by Allen Shen formerly of Microsoft. And some presentations by Laura Chappell and both of them inspired me to really look at what is happening with Calls and Call control for OCS. Allen tried to explain ICE, STUN, and TURN to us in a presentation at Tech Ed. Which was really good but I still had some questions and still was not sure about it.
If any of you attended this session or have seen one of allens sessions on ICE, STUN or TURN. then many of you realize it starts out very well but there is a point in the presentation where you become a little lost Generally this is when the lines start to cross. it is the same if you start to read the RFC's on those protocols as well. So I started last night trying to explain a little about the AV edge. And in the diagram it shows 2 users with voice traffic going through the AV edge server.
Well I wanted to see more about this so I could confirm some things for myself. I began sniffing traffic (Thanks Laura Chappell you created a monster my wife can't understand why I am going nuts wanting to get home to see what the sniffs look like) to see what is actually happening. So here is a synopsis of what I found and how I found it.
Let me explain what and how I tested this so far I will do more over the next couple of days. (it is so cool and so much fun to see how it all works)
OK
user A is at home behind a nat firewall with in internal IP of 192.168.33.74 the Router has a Public IP of 76.34.37.65
User B is on a wireless aircard from sprint. with an ip of 70.209.48.141
OCS AV edge server for the user A OCS environment is 74.88.32.5
User B is a a member of another federated company so they are not members of the same company or the same OCS systems.
User B is calling user A
User B right clicks on the users and says make communicator call to user A.
user B begins sending sip traffic to his OCS server. I am not going to go through all this but ultimately the 2 access edges pass sip call control traffic back and fourth to each other at some point USER A sends back a list of possible IP's that user B may be able to contact him at. here is the list.
a=candidate:ji0XDiGUsQde1Fr4OZC9yqAwEIZBMAUavSjGXQkOfos 1 YPqc4I+bY14FUpKJh2Rtlg UDP 0.830 192.168.33.74 25856
a=candidate:ji0XDiGUsQde1Fr4OZC9yqAwEIZBMAUavSjGXQkOfos 2 YPqc4I+bY14FUpKJh2Rtlg UDP 0.830 192.168.33.74 56576
a=candidate:LRJGqNyquostNMw5jcDIBsW31GtYQ/cYw8fY2cWZ/Ek 1 V8p3r9V8NrclMS0ZNshlbA TCP 0.190 74.88.32.5 59722
a=candidate:LRJGqNyquostNMw5jcDIBsW31GtYQ/cYw8fY2cWZ/Ek 2 V8p3r9V8NrclMS0ZNshlbA TCP 0.190 74.88.32.5 59722
a=candidate:iIp3PUfo9f8PUICapk9cbvNixh3G//E0YcN/H1BS2uU 1 gJOKyEAWqEO3fRvwo7zibw UDP 0.490 74.88.32.5 52410
a=candidate:iIp3PUfo9f8PUICapk9cbvNixh3G//E0YcN/H1BS2uU 2 gJOKyEAWqEO3fRvwo7zibw UDP 0.490 74.88.32.5 55690
a=candidate:SwYcgzmLKxjngz0ly88fx3WyBfeLJyFpUSooOFbqiCw 1 AVJa9tLvi/OL7UAMrXtiQg TCP 0.250 76.34.37.65 64896
a=candidate:SwYcgzmLKxjngz0ly88fx3WyBfeLJyFpUSooOFbqiCw 2 AVJa9tLvi/OL7UAMrXtiQg TCP 0.250 76.34.37.65 64896
a=candidate:Kg7LyhMXrFauBM795AMdGHe12oSjdFMnYjThzovUlLY 1 T0uIkUWv0qOZXsAjK9NgDg UDP 0.550 76.34.37.65 4864
a=candidate:Kg7LyhMXrFauBM795AMdGHe12oSjdFMnYjThzovUlLY 2 T0uIkUWv0qOZXsAjK9NgDg UDP 0.550 76.34.37.65 27520
They are called A=Candidates notice there are 10 listed. these sometimes may be referred to as Candidate pairs. notice there are TCP and UDP pairs. once this is passed back to USER B then stun negation begins to take place. and ultimately different patterns are tried until it is finally determined which path is best to take. in this case User B was able to talk directly to USER A via UDP. So the sniff ultimately showed 192.168.33.74 talking directly to 70.209.48.141.
Because there are so many variables it is hard to say what the voice path is for each and every call. So if someone asks "What is the RTP traffic flow in OCS" the only answer that is possible is it depends. From what I understand so far I believe it is possible for voice traffic to be peer to peer in a multitude of situations. I will start a trace on a 3 person conference call via MOC next. but that may be a day or 2.
Thanks. hope this helps someone.