--- /dev/null
+* REGISTER transactions:
+ Currently siproxd does only support *one* Contact header in REGISTER
+ transactions. If an UA does send multiple (which is legal) funny things
+ may happen.
+ There are one or two funnies associated with REGISTER transactions that
+ should be mentioned:
+ 1) There can be multiple Contact URIs in the request. It is legal
+ (although very rare) to register multiple extensions at the same
+ time.
+ When multiple extensions need to be registered, they are generally
+ registered separately. You probably don't need to worry about this
+ for the time being, but it is probably worth bearing it in mind.
+ 2) There can be multiple Contact URIs in the response. If more than
+ one UA has registered for the same AOR, then the response to the
+ REGISTER will contain all the registered AORs and their current
+ expiry times.
+ None or some of these may need 'unmapping'. Again, this probably
+ isn't something you will come across that often, but knowing it can
+ happen may save you some debugging time later.
+ 3) The Contact in the request may contain '*'. This is used by some
+ phones to deregister all registrations for the specified AOR.
+ 4) Sometimes, there is no Contact in the request. This happens when
+ a UA is querying the registration database. This is sometimes used
+ for diagnostic purposes, although I suppose a phone could do this
+ automatically for some reason.
+ 5) The definitive expires time is not found in the request. This is
+ simply a suggested value. The actual value is in the response from
+ the registrar.
+ For the definitive description -> RFC3261 section 10.
+