Subject: Re: Buddy Lists and UDP max MTU size

From: [email-masked]
Date: Wed, 30 Jun 1999 15:34:20 +0530

adam> You may want to examine the SIP for presence and SAP drafts
adam> before you continue down a road that will not interoperate
adam> with other implementations. At the very least, consider using
adam> standard message semantics, such as sending your buddy list
adam> back to the client in a series of REGISTER messages instead of
adam> in a REGISTER response.

Thanks. I just went thru the SIP for presence draft. Actually what Im doing
here is not  a 'Buddy' list (my wording was incorrect) but actually just a
list of all currenlty registered users so that a person starting the sip
phone gets to know whos logged on. so that cant be in REGISTER request.

It seems the SUBSCRIBE,NOTIFY allow me to do jsut that.
However, whether I use Subscribe or register, I still face the problem of
overflow.
Basically, to deploy a single SIP Registrar which a lot of people can use
(~5000 users) and showing a list of all logged in users, I immediately
cross the 64k limit.
However, I guess a solution is that the server return blocks of users in
multiple responses and I keep updating my list making sure to discard the
retransmissions.

Initially I had wanted to avoid this, but what you said about App layer
fragmentation complexities makes sense. On second thoughts, I dont think
its worth doing it :).

Regds
Arjun

---

From: Sean Olson <[email-masked]>
Date: Wed, 30 Jun 1999 09:04:12 -0500 (CDT)

> 
> Hi,
> I have a question on SIP message exceeding MTU size.
> 
> My interpretation of Section 1.5.2 of RFC 2543 which states that UDP
> datagrams should not exceed > MTU was that
> all SIP messages must e wholly contained in one Datagram each.
> 
> Now, to implement Buddy Lists, Im returning a list of Registered Users when
> a user sends a REGISTER. However, this will result in a very high
> possibility of size > 1500.
> There does not seem to be any way in the RFC which talks about breaking a
> SIP packet across UDP datagrams. So currently Im using my own scheme to
> correlate - which is not standard.
> 
> So my basic question is, is there a standard way which will allow a SIP
> message to be transferred acrtoss multiple datagrams ?
> 

After reading the various responses to your original post on this mailing
list, I would like to suggest that what you are trying to do with the
REGISTER reuqest while not really provided for in the draft is very interesting
and should be investigated further. 

You might take a look at the IMPP working group which is addressing this type
of problem.

If you wish to use the REGISTER
request (which by the way I considered exactly this same approach at one time,
it's not too crazy :)), I would recommend using the body of the response
to return the "buddy list" in a compressed format (gzipped) which solves
part of the problem with the path-MTU. You might also use a proprietary header
"X-filter" or something like that to filter or limit the number of 
registrations returned in the REGISTER response. Finally as Jonathan pointed
out, the worst thing that will happen (in general, though there are some
exceptions) is that your packet will be fragmented across any link(s) whose
MTU is exceeded by your packet size.

-----------------------------------------------------------------
Sean Olson            E-mail: [email-masked]
Ericsson Inc.         Voice: (972) 583-5472 
                      FAX: (972) 669-0154