# An IP Multimedia Subsystem Services Proxy Gateway Based on a JAVA Dynamic Module System
## 4 The IMS Service Sharing Mechanism
### The Session Establishment Procedure in Proxy Mode  
The IMS service sharing based on IMPU Sharing has been presented in previous sections. However, the same identity to be shared by multiples devices means a SIP account requested and responded by several devices simultaneously, that is, the multiple responses of so-called SIP Forking, such that these devices are not recognized easily. Accordingly, Caller preference/Callee capabilities [20; 21] and Q-value [21] are adopted for no multiple responses attributed to SIP Forking. Figure 6: The relationship between IMPI and Shared IMPUs for (**a**) a personal self IMS device and the proxy gateway; and (**b**) multiple personal self IMS devices and the proxy gateway. * **Q-value solution** Q-value, which is a parameter of a SIP packet header, means UE's relative preference in a SIP request and the high Q-value has the high priority (preferential response to a SIP request). For Q-value, the Serial forking solution is applicable to the condition that the response preference of a Callee is unfamiliar to a Caller. Moreover, the Serial forking is a mechanism to decide the priority ordering for a destination according to the Q-value labeled on UE during the SIP registration (as specified in RFC 3841 [21]). In virtue of this solution, the response conflicts will not exist between personal self IMS devices and peripheral devices despite various networking facilities in a field domain. * **Caller preference/Callee capabilities solution** This solution is characteristic of the Caller preference, e.g., mobile device or household appliance, configured in a session invitation such that the message routing of a SIP session is available to UEs with corresponding Callee capabilities rather than all devices. For that matter, the common description language to configure Caller preference/Callee capabilities [20; 21] in SIP standard specifications is Media feature tag (as specified in RFC 5688 [22]) which is one condition of SIP Forking routing. For a Caller with the definite request preference, a session invitation can be initiated by the Caller through configurations of Caller preference/Callee capabilities. With the Media feature tag installed in an IMS device in advance and recorded in IMS S-CSCF during a registration step of the IMS device, the mechanism is simpler and more effective than the common technique of multicasting followed by filtering because the routing for a session request is available in the SIP proxy (IMS) without extensive broadcasting of request signals and the SIP signals are routed to a correct SIP UA. In the case of more than one device with same Callee capabilities during routing, the Q-value solution for recognition of the priority is further applicable for no conflict of two solutions. Based on IMPU Sharing for sharing of IMS services, the IMS service proxy gateway in this paper presents the capacity of IMS service proxy through multiple responses of SIP Forking in the above two solutions. As shown in Figure 7, the IMS service for session sharing is created among peripheral devices (non-IMS devices) through the IMS service proxy gateway according to the following steps. * The initial step for the gateway in a field domain available to a user includes (1) registration on the OSGi-based IMS service epoxy platform and (2) registration of the user's personal self IMS device. * With IMS service proxy in Step 1 and Q-value configured in the gateway, the service proxy (that is, the gateway) in the field domain is the first Caller in an invitation of a phone session. Moreover, the handshaking of messages between the gateway and UEs depends on the information access mechanism of REST with three available conditions such as Confirmation, Accepted and ACK (Acknowledgment) signals. * Furthermore, the peripheral devices to be incorporated in a phone session can be chosen manually or automatically according to users' preferences. In the manual mode, UEs choose the objects requesting Session passing through the REST protocol [19].