I stared at the source code of SIP Communicator now for some time, I'm looking at the negotiation code in CallSessionImpl::createMediaDescriptions(). I have the feeling that I missed something
- Did I understand it correctly that only static media formats are supported, not dynamic ones, which would have to be specified via rtpmap attributes?
But, a number of payload types as defined in MediaControl::SupportedAudioEncodings fall into the dynamic range (RFC1890), notably 97 (dubbed "ILBC" in a comment) and 110. For these, SIP communicator does not generate a=rtpmap attributes.
- If it were implemented that way for the purpose of supporting them in outgoing calls only, a rtpmap attribute would be neccessary. So why have them at all?
- Are clashes avoided at all, when a client offers a media format in the dynamic range, but with a different codec?