Sunteți pe pagina 1din 2

A more practical test on SIP skills

If you have the answers you can send them to me. If you like to discuss these or
some other questions send me email with your suggestions/comments. I will keep
this updating so feel free to visit again. New questions will be added at the end.

1. Why is SIP Via header needed? Why should the response traverse the same
path as the request for SIP messages?
2. Do you need to define a new SIP extension to implement a SIP based
conferencing server? Justify.
3. What are the advantages of using SIP on TCP as compared to SIP on UDP?
What are the disadvantages?
4. Why is the ACK needed for the SIP INVITE exchange? Why is not needed for
BYE? What is the motivation behind the new SIP method, PRACK. A new
method REFER is used to transfer the call to a new location. What would you
suggest as the retransmission mechanism for REFER.
5. If you send a multicast INVITE, how many final responses will you get? (no
final response; only one final response; responses from whoever receives
INVITE request; responses from whoever wants to accept the INVITE request)
6. Consider a variation of an echo server, A echo SIP server, that sends back the
message. If your useragent sends an INVITE to the server it sends back the
same INVITE to your user agent. What will your user agent ideally respond
with if you want to accept the call if at all possible? Assume that the echo
server does not modify the request or response in any way.
(2xx/3xx/4xx/6xx/6xx)
7. Is it possible for a user agent to send a message with request line "INVITE
sip:128.59.19.61 SIP/2.0". Is it possible for a user agent to receive such a
request? (yes or no)
8. What are the problems in sending media also as part of the SIP message.
Consider defining a new method RTPDATA, and headers like RTP-Timestamp,
etc., and sending audio payload in the message body of the request?
(bandwidth will be too high hence not good; it will provide unwanted
reliability due to SIP retransmission hence more delay hence not good; it will
have more delay due to the path through all the proxies hence not good; it
will have binary body that is not supported in SIP hence not possible)
9. You send a message to a sipua on UDP and it works fine, you get the
response. But on TCP the server does not send any response back, not even a
1xx. You are been told that the server behaviour is correct. What would you
suspect the problem is in your INVITE message from sipua. The message
format is the same for both UDP and TCP. (Hint: Which Header is missing?)
10. Is it possible for a user agent to send a SIP INVITE with same request URI
and From. Is it possible to receive such a message. (yes or no)
11. Consider an hacked SIP proxy server that intentionally introduces loops. This
server, when it receives an INVITE with Via:office.com, and request
URI:bob@home.com, proxies the INVITE to the server at office.com with
request URI:bob1@home.com. When request URI is bob{n}@home.com it
proxies to bob{n+1}@home.com. Does SIP have mechanism to counter such
attacks?
12. A new method in SIP is proposed, MEETING. This method requests all the
recipients to join in a conferences specified by the message body/SDP. The
inventor claims that all the people in a group can register under one name,
e.g., irt-meeting@office.com, and when someone sends a MEETING to this
URI, eveyone receives the forked message and can join the conference. Why
will this not work? Will INVITE work instead of MEETING?
13. What should be the registrar's capacity (request/second) to handle a hundred
thousand subscribers/registered users, with registration refresh time as one
hour and nonce for digest authentication valid for three hours.
14. Some primitive implementation of hardware SIP phones have one user id and
password that they use for both digest and basic authentication, for
REGISTER and INVITE. That makes a spurious UAS easy to request for basic
authorization credentials on an INVITE, and get to know the password. What
is the best way to prevent such attacks? Should basic authentication be
discouraged? should REGISTER and INVITE use different passwords and
userid?
15. Assuming a probability p of packet drop what is the estimated call setup time
for a SIP call using UDP. The call setup time is the time when the initial
INVITE request is sent to the time when the final response (200, 300, etc) is
received. No need to worry about ACK. Assume a round trip time of 2d
between the endpoints (i.e., time delay of d for packet transmission from one
endpoint to other and vice-versa). All call setup calculation should be done for
the caller side, assuming that the call is established when the caller received
the final response. How will the estimated value differ for the callee side if
you assume that the call is established for the callee when it received the
ACK.
16. One reason to use Via header is to prevent infinite looping. Every proxy can
check if it is there in the Via, and if yes, the message was earlier proxied by
this proxy and now its coming back (looped). Given that IP has TTL that
prevents infinite looping, is Via still needed to prevent loops? What is the
advantage of Max-Forwards header over Via in preventing loops?
17. One thing often confused in IP telephony is the path taken by the signaling
and media packets. Discuss the advantages and disadvantages of using the
same path for signaling and media in IP telephony. Path taken here is the set
of routers, and/or application level proxies between the two talking end-
points. mention at least one advantage and one disadvantage. What are the
mechanisms to carry DTMF signals in a SIP based IP telephony call?
18. Can you implement an IP telephony call using RTSP, such that RTSP sessions
are established in both directions. Users are identified using RTSP URLs like
rtsp://user@domain/ What are the problem in this approach?
19. Write pseudo code for a SIP application level gateway. You can assume that
you are provided with whatever API needed from SIP library or firewall. What
modification do you need in this pseudo code such that it works for NAT also.
(Note that NAT is transparent for the host inside the domain, whereas firewall
address and port needs to be specified in the user agent).
20. Is it possible that a caller receives multiple 200-responses for an outgoing
INVITE due to forking proxy? If yes, how does the caller (or the callee?)
handle such cases? If not, why?
21. What is the advantage (if any) of end-to-end ACK as compared to ACK routed
through the same path as the initial INVITE? Is there any disadvantage?

S-ar putea să vă placă și