SSCA SDP Protocol 4 — Questions and Answers
Question 1: What is the purpose of the 'a=ice-ufrag' and 'a=ice-pwd' attributes in SDP?
- They carry ICE credentials for NAT traversal (Correct answer)
- They encrypt the SDP body
- They identify the STUN server address
- They specify TURN server login credentials
Correct answer: They carry ICE credentials for NAT traversal
The a=ice-ufrag and a=ice-pwd attributes provide the username fragment and password used to authenticate ICE connectivity checks.
Question 2: In SDP offer/answer, what must an answerer do with a media stream it does not support?
- Set the port to 0 in the m= line of the answer (Correct answer)
- Omit the m= line entirely from the answer
- Set a=inactive on that stream
- Reply with a SIP 488 instead of an SDP answer
Correct answer: Set the port to 0 in the m= line of the answer
Per RFC 3264, if the answerer cannot support a media stream, it must include the m= line with port set to 0 to reject it.
Question 3: Which SDP attribute carries fingerprint information used for DTLS-SRTP key negotiation?
- a=fingerprint (Correct answer)
- a=crypto
- a=setup
- a=key
Correct answer: a=fingerprint
The a=fingerprint attribute contains a hash of the certificate used in the DTLS handshake, enabling peers to verify each other's identity for DTLS-SRTP.
Question 4: What does 'a=setup:actpass' mean in SDP?
- The endpoint can act as either DTLS client or server (Correct answer)
- The endpoint will always initiate the DTLS handshake
- The endpoint will wait for the remote to initiate DTLS
- The endpoint does not support DTLS
Correct answer: The endpoint can act as either DTLS client or server
The 'actpass' setup attribute indicates the endpoint is willing to act as either the DTLS active (client) or passive (server) role, letting the other side choose.
Question 5: What is the function of the 'a=candidate' attribute in SDP?
- It lists ICE candidates (IP addresses and ports) for media connectivity (Correct answer)
- It specifies codec candidates in priority order
- It lists backup SIP proxy addresses
- It defines candidate codecs for the media session
Correct answer: It lists ICE candidates (IP addresses and ports) for media connectivity
The a=candidate attribute carries ICE candidate information including transport address, priority, and type (host, srflx, relay) used in NAT traversal.
Question 6: In SDP, what does the 'a=group:BUNDLE' attribute enable?
- Multiplexing multiple media streams over a single transport connection (Correct answer)
- Grouping codecs by quality level
- Bundling multiple SIP dialogs into one
- Grouping ICE candidates for failover
Correct answer: Multiplexing multiple media streams over a single transport connection
The a=group:BUNDLE attribute, defined in RFC 8843, allows multiple media descriptions to share a single underlying transport (port), reducing resource usage.
Question 7: Which SDP attribute is used to declare RTCP feedback capabilities such as NACK or PLI?
- a=rtcp-fb (Correct answer)
- a=rtcpfb
- a=feedback
- a=rtcp-cap
Correct answer: a=rtcp-fb
The a=rtcp-fb attribute (defined in RFC 4585) declares RTCP feedback capabilities like NACK (negative acknowledgment) and PLI (picture loss indication) for a payload type.
What is the purpose of the 'a=ice-ufrag' and 'a=ice-pwd' attributes in SDP?