SIP Profiles are a set of configurable parameters related to registration. The SIP Profiles are stored in CenRep. The applications retrieve the profiles based on parameters (AOR, Profile Type to mention a few) from CenRep and use them.
The SIP Profiles can be provided with the device.(Default)
The user can create new SIP Profiles as per requirement.
The existing SIP Profiles (Default) can be customised by the user.
A Key Schema ( Key Space Design) is defined for the storage of the SIP Profile in CenRep.
SIP Profile data is referenced by using TUint32 constant as a Key. Several Keys defined in CSIPProfile,CSIPManagedProfile classes together define the parameters that constitute a complete SIP Profile. For more details refer to SIP Profile API Parameters.
The following schema is used to store SIP profile information in the Central Repository:
Profile Id defines a SIP profile Id. The valid range for profile Id is 1 to 255.
Variable Id identifies the variable. There can be a maximum of 4095 variables.
Array Index indexes the array attribute.
The value at the ‘zero index’ contains the number of items in the array.
Two different type of arrays are used :
Arrays that contain only data items. These arrays contain up to 4095 elements .
Arrays that contain a list of Key value pairs. These arrays contain up to 2047 elements.
Element |
Binary value |
Data saved |
---|---|---|
Array[0] |
000000000000b |
2(array length) |
Array[1] |
000000000001b |
45 |
Array[2] |
000000000002b |
67 |
Key/value array are stored in Key first order as {Key, value},{Key, value} pairs.
The following example shows the complete CenRep Key/value data stored for a single predefined profile.The Key values are provided assuming Profile ID is '1' .
Provider Name: ‘Example Profile’
Profile Id: 1
Profile Type/Class: Internet
Profile Type/Name : ‘IETF’
Registrar Address: ‘192.168.1.1’
Registrar User: ‘reguser’
Registrar Password: ‘regpass’
Registrar Realm: ’realm’
Proxy Address: ‘192.168.1.1’
Proxy User: ‘proxyuser’
Proxy Password: ‘proxypass’
Proxy Realm: ‘realm’
Public User Name: ‘[email protected]’
Password: ‘password’
Proxy extension parameters : [key_1=‘value 1’, key_n=‘value n’]
Registrar extension parameters : [key_1=‘value 1’, key_2=‘value 2’, key_n=‘value n’]
Extension integer parameters :[11=1234, 22=5678]
Extension boolean parameters :[33=1]
Extension descriptor parameters : [44=‘extension descriptor parameter value’]
Extension descriptor array parameters : [ [55, ‘Sub Array1 value1’, ‘Sub Array1 value2’, ‘Sub Array1 value3’], [66, ‘Sub Array2 value1’, ‘Sub Array2 value2’, ‘Sub Array2 value3’, ‘Sub Array2 value4’] ]
Member | CenRep Key | Key value | Data saved |
---|---|---|---|
iSIPProviderName |
KSIPProviderName |
0x01002000 |
‘Example Profile’ |
iSIPProfileType. iSIPProfileClass |
KSIPProfileClass |
0x01FFA000 |
0 (0=Internet,1=Ims,2=Other) |
iSIPProfileType. iSIPProfileName |
KSIPProfileName |
0x01FFD000 |
'IETF’ |
iSIPRegistrar |
KiSIPRegistrar |
0x01082000 |
‘192.168.1.1[:port]’ |
iSIPRegistrarParameter[i] |
KSIPRegistrarDigestUserName |
0x01FF1000 |
‘Proxy’ |
iSIPRegistrarParameter[i] |
KSIPRegistrarDigestPassword |
0x01FEF000 |
'192.168.1.1’ |
iSIPRegistrarParameter[i] |
KSIPRegistrarDigestRealm |
0x01FF0000 |
‘realm’ |
iSIPOutboundProxy |
KSIPOutboundProxy |
0x01083000 |
‘192.168.1.1[:port;lr]’ |
iSIPOutboundProxyParameter[i] |
KSIPProxyDigestUserName |
0x01FF4000 |
‘proxyuser’ |
iSIPOutboundProxyParameter[i] |
KSIPProxyDigestPassword |
0x01FF2000 |
‘proxypass’ |
iSIPOutboundProxyParameter[i] |
KSIPProxyDigestRealm |
0x01FF3000 |
‘realm’ |
iSIPProfileId |
KSIPProfileId |
0x01001000 |
1(first profile = 1, second = 2, …) |
iSIPOutboundProxyExtParameter[0] |
KSIPExtProxyParam |
0x01FFE000 |
4 (the length of proxy extension parameter array) |
iSIPOutboundProxyExtParameter[1] |
KSIPExtProxyParam |
0x01FFE001 |
'key_1' |
iSIPOutboundProxyExtParameter[2] |
KSIPExtProxyParam |
0x01FFE002 |
‘value 1’ |
iSIPOutboundProxyExtParameter[n-1] ‘ |
KSIPExtProxyParam |
0x01FFE003 |
'key_n’ |
iSIPOutboundProxyExtParameter[n] |
KSIPExtProxyParam |
0x01FFE004 |
‘value n’ |
iSIPRegistrarExtParameter[0] |
KSIPRegistrarExtParam |
0x01FFC000 |
6 (the length of registrar extension parameter array) |
iSIPRegistrarExtParameter[1] ‘ |
KSIPRegistrarExtParam |
0x01FFC001 |
'key_1’ |
iSIPRegistrarExtParameter[2] |
KSIPRegistrarExtParam |
0x01FFC002 |
‘value 1’ |
iSIPRegistrarExtParameter[3] |
KSIPRegistrarExtParam |
0x01FFC003 ‘ |
'key_2’ |
iSIPRegistrarExtParameter[4] |
KSIPRegistrarExtParam |
0x01FFC004 |
‘value 2’ |
iSIPRegistrarExtParameter[n-1] |
KSIPRegistrarExtParam |
0x01FFC005 ‘ |
'key_n’ |
iSIPRegistrarExtParameter[n] |
KSIPRegistrarExtParam |
0x01FFC006 |
‘value n’ |
iExtensionIntParams[0] |
KSIPExtensionIntParam |
0x01FF8000 |
4 (the length of extension int parameter array) |
iExtensionIntParams[1] |
KSIPExtensionIntParam |
0x01FF8001 |
11 (the id of the first extension int parameter) |
iExtensionIntParams[2] 1234 |
KSIPExtensionIntParam |
0x01FF8002 |
1234(value of the first extension int parameter) |
iExtensionIntParams[3] |
KSIPExtensionIntParam |
0x01FF8003 |
22 (the id of the second extension int parameter) |
iExtensionIntParams[4] 5678 (value of the second extension int parameter) |
KSIPExtensionIntParam |
0x01FF8004 |
5678 (value of the second extension int parameter) |
iExtensionBoolParams[0] |
KSipExtensionBoolParam |
0x01FF7000 |
2 (the length of extension Boolean parameter array) |
iExtensionBoolParams[1] |
KSipExtensionBoolParam |
0x01FF7001 |
33 (the id of the boolean parameter ) |
iExtensionBoolParams[2] |
KSipExtensionBoolParam |
0x01FF7002 |
1 (ETrue) |
iExtensionDescrParams[0] |
KSIPExtensionDescParam |
0x01FF6000 |
2 (the length of extension descriptor array) |
iExtensionDescrParams[1] |
KSIPExtensionDescParam |
0x01FF6001 |
44 (the id of the descriptor parameter ) |
iExtensionDescrParams[2] |
KSIPExtensionDescParam |
0x01FF6002 |
‘extension descriptor parameter value’ |
iExtensionDescrArrayParams[0] |
KSIPExtensionDescArrayParam |
0x01FF5000 |
11 (total count of array) |
iExtensionDescrArrayParams[1] |
KSIPExtensionDescArrayParam |
0x01FF5001 |
3 (Sub Array1 count) |
iExtensionDescrArrayParams[2] |
KSIPExtensionDescArrayParam |
0x01FF5002 |
55 (Sub Array1 id) |
iExtensionDescrArrayParams[3] |
KSIPExtensionDescArrayParam |
0x01FF5003 |
‘Sub Array1 value1’ |
iExtensionDescrArrayParams[4] |
KSIPExtensionDescArrayParam |
0x01FF5004 |
‘Sub Array1 value2’ |
iExtensionDescrArrayParams[5] |
KSIPExtensionDescArrayParam |
0x01FF5005 |
‘Sub Array1 value3’ |
iExtensionDescrArrayParams[6] |
KSIPExtensionDescArrayParam |
0x01FF5006 |
4 (Sub Array2 count) |
iExtensionDescrArrayParams[7] |
KSIPExtensionDescArrayParam |
0x01FF5007 |
66 (Sub Array2 id) |
iExtensionDescrArrayParams[8] |
KSIPExtensionDescArrayParam |
0x01FF5008 |
‘Sub Array2 value1’ |
iExtensionDescrArrayParams[9] |
KSIPExtensionDescArrayParam |
0x01FF5009 |
‘Sub Array2 value2’ |
iExtensionDescrArrayParams[10] |
KSIPExtensionDescArrayParam |
0x01FF500A |
‘Sub Array2 value3’ |
iExtensionDescrArrayParams[11] |
KSIPExtensionDescArrayParam |
0x01FF500B |
‘Sub Array2 value4’ |