Copyright 2010-2015 Obihai Technology, Inc.
52
REGISTER sip:as.xyz.broadworks.net:5060 SIP/2.0
Call-ID: [email protected]
Content-Length: 0
CSeq: 10722 REGISTER
From: <sip:[email protected]>;tag=SP337b73f3bf7a504c3
Max-Forwards: 70
To: <sip:[email protected]>
Via: SIP/2.0/UDP 192.168.15.207:5062;branch=z9hG4bK-f9e9e56c;rport
User-Agent: OBIHAI/OBi1062-5.0.0.1542
Contact: <sip:[email protected]:5062>;expires=60;
+sip.instance="<urn:uuid:00000000-0000-0000-0000-9abcde700065>"
Allow: ACK,BYE,CANCEL,INFO,INVITE,NOTIFY,OPTIONS,PRACK,REFER,UPDATE
Supported: replaces, eventlist, record-aware
Note that in the last example, the OBi1000 does not use the Expires header in REGISTER requests. Instead the Expires
value (in seconds) is encoded as a parameter in the Contact header. The two methods are equivalent in this usage per
RFC3261. Note also that the OBi1000 insip-instance parameter in the Contact header that specifies the phone
MAC address in the UUID. This parameter can be suppressed by disabling the option
ITSP Profile X –
SIP
::
X_RegisterIncludeInstance
.
In some cases the device may not receive any response to its REGISTER from the server that is caused by an upstream
router blocking the outgoing message sent by the phone. To cope with such case, the administrator may instruct the
phone so try other SIP user agent ports by spectify a comma separated list of up to 10 altenative ports in the parameter
the
SPn Service
::
X_UserAgentPorts
and the phone will cycle through those ports to retry REGISTER until a response
is received from the server.
Third Party Registration
It is possible to have the phone register for an Address of Record (AOR) that is not the same as the account user-id.
That is, the user-id in the TO header of the SIP REGISTER request is different from that in the FROM header, which
always carries the account user-id. This is known as third party registration. One application is in the implementation of
a shared line using the BLA (Bridged Line Appearance) method. To enable third party registration, set the user-id to
register for in the parameter
SPx Service – SIP Credentials
::
X_ShareLineUserID
.
Registration Period
The
nominal
registration Expires header value (implemented as a Contact header parameter value) used by the phone
in REGISTER requests is configured in the parameter
ITSP Profile X – SIP
::
RegistrationPeriod
(in seconds). The actual
expires value is determined by the server. The server may reject the REGISTER request with 423 with a Min-Expires
header value (in seconds). The phone will then retry quickly with an Expires header value equal to the Min-Expires
header value from the server. When the server accepts the registration, it replies with a 2xx response for the REGISTER
and includes an expires parameter value in the Contact header that matches the Contact the phone uses in the
REGISTER request. However, if it is not found in the Contact, the phone takes the server supplied expires value from the
Expires header of the 2xx response. If still not found, the phone assume the server supplied value is 3600 seconds.
If the server supplied expires value is less than the Expires header value used by the phone, the phone takes the
server’s version to compute the next renewal interval. Otherwise the phone uses its own Expires header value to do the
same. Note that the server should not supply explicitly or implicitly an expires value that is larger than what the phone
has asked for, as that would be a protocol violation. The phone however will ignore such error.
The phone computes the next renewal time by subtracting a percentage of the expires value derived from the 2xx
response returned by the server. How the margin to subtract is computed can be controlled by the parameter
ITSP
Profile – SIP
::
X_RegistrationMargin
parameter, as follows: If
X_RegistrationMargin
is 0 or not specified, the
renewal time is half-way before the expiration, if the expires value is less than 1200s, or 600s before the expiration
otherwise. If
X_RegistrationMargin
≥ 1, it is interpreted as the number of seconds (with any fractional part
dropped) before the expiration time to renew registration. If
X_RegistrationMargin
< 1, it is interpreted as the
fraction of the current expires value to subtract from the expiration time to get the time for the next renewal. For
example, if
X_RegistrationMargin
= 0.01 and the expires value is 300, then the next renewal goes out 3s before the
expiration time.
Содержание OBi1062
Страница 136: ...Copyright 2010 2015 Obihai Technology Inc 136...