Closed sirzooro closed 5 days ago
Additional thing to consider is how to perform re-keying in RTSP protocol. RFC 4567 does not say how to do this. Things are complicated by fact that server is an initiator of key exchange and sends initiator MIKEY message in response to DESCRIBE. I saw some non-standard solution which used SET_PARAMETER for this.
RTSP 2.0 also does not specify this explicitly, but standard-compliant way can be guessed from specification. Here client is initiator of key exchange and it sends initiator MIKEY message in SETUP request. SETUP message may also be used to change transport parameters on the fly. This means that it could be used to perform re-keying as specified in MIKEY RFC.
There is currently work ongoing on extending this part of the specification. With that examples may be added.
Learning how to implement and use MIKEY protocol is painful. RFC 3830 does not have any examples and recommendations, so connecting all dots to understand whole picture is hard. One also cannot simply verify that his/her code generates the same binary messages and is able to decode them properly. Other MIKEY-related RFC are also not very helpful in this manner. Other MIKEY-related materials on the web also usually do not have examples or they are invalid. Fortunately I was able to found few posts from people who has problems with their SIP software and posted some SDPs with MIKEY messages. I also found that GStreamer and Live555 have open source implementations of MIKEY, so I had something to learn from.
Some points however are still unclear for me. The same was for GStreamer and Live555 authors, as their implementations are not fully interoperable:
Please add recommendations how to use MIKEY to ONVIF specification, with some example message(s).