SIP Profile Setting

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.

Key Schema for a SIP Profile

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:

8 bits

12 bits

12 bits

Profile Id

Variable Id

Array index

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.

      Element

      Binary value

      Data saved

      Array[0]

      000000000000b

      4(array length)

      Array[1]

      000000000001b

      ‘Server’(Key)

      Array[2]

      000000000002b

      ‘ 192.168.1.1’(value)

      Array[3]

      000000000003b

      ‘ Proxy’(Key)

      Array[4]

      000000000004b

      ‘ 192.168.1.1’(value)

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: ‘user@192.168.1.1’

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’