# An IP Multimedia Subsystem Services Proxy Gateway Based on a JAVA Dynamic Module System
## 5 Implementation  
As shown in Figure 8, the objects incorporated in implementations of this paper consist of the IMS platform, the IMS service proxy gateway, personal self IMS devices, and peripheral devices (non-IMS devices).  
Figure 8: Architecture of the experimental environment.  
Figure 7: The session establishment procedure in the proxy mode.  
The IMS network includes three CSCFs (P-CSCF, I-CSCF and S-CSCF), one HSS and one Application Server, which were set up based on OpenIMSCore [9] for development of the IMS network, as depicted in Figure 9. Moreover, the IMS service proxy gateway was established according to Eclipse Equinox [23] as the core framework; the IMS bundle and the RTP bundle were developed with JAIN-SIP [24] and Java Media Framework (JMF) [25], respectively.  
For a personal self IMS device, the functions for control of OSGi such as (1) IMS service proxy initialization (showed by SIP_Init in Figure 10); (2) IMS session available to a peripheral device (showed by Peripheral_1 in Figure 10); and (3) change to a direct mode (showed by Change_to_Mobile in Figure 10) as well as other functions of tracking \"IMS session state (shown by Session_State in Figure 10)\" and/or \"peripheral device's session passing state (shown by Session_Passing_State in Figure 10)\" are shown on the user interface of the user equipment, for example, a smart device, as shown in Figure 10. A session request is made by a user from a peripheral device through a sensor or a touch user interface, which is implemented in the experimental environment, as shown in Figure 10b.  
Figure 10: Application program for (**a**) the personal self IMS to session changes on the IMS proxy platform; and (**b**) peripheral device.  
Figure 9: Practical implementation of each IMS unit: (**a**) HSS; (**b**) I-CSCF; (**c**) P-CSCF, and (**d**) S-CSCF.  
In this paper, the \"Wireshake\" is used to capture network packets with which the running services are displayed.  
* Registration for services on the IMS service proxy platform: The service proxy of a user's personal self IMS device is acquired by the IMS service proxy gateway through IMS/IMPU sharing. The captured packets by Wireshake depicted in Figure 11.
* A phone session between a peripheral device in the field domain and other users (proxy mode) is enabled through steps as follows: (a) a session invitation initiated by a Callee; (b) the session invitation accepted by the IMS service proxy platform for session passing between a peripheral device and the IMS service proxy platform; and (c) the peripheral device responding to the session passing for exchanges of media resources with the Callee. The captured packets by Wireshake depicted in Figure 12.  
With Round-trip time (RTT) of 3 ms, 60 ms and 120 ms configured, the time consumed in a general IMS session establishment and the time consumed in a session establishment under the proxy mode are measured for displays of sessions between two parties in three different network environments, for example, the two parties in the same domain (RTT = 3 ms) or in different domains and at different distances (RTT = 60 ms or 120 ms). Figure 13 illustrates the time consumed in setup of an IMS session and the time consumed in setup of a session under the proxy mode for three types of RTT. Compared  
Figure 11: Registration for services on the IMS service proxy platform.  
Figure 12: A voice call session procedure: (a) a session invitation initiated by a Callee; (b) the session invitation accepted by the IMS service proxy platform for session passing between a peripheral device and the IMS service proxy platform; and (c) the peripheral device responding to the session passing for exchanges of media resources with the Callee.  
with the time consumed in setup of a general IMS session, the additional 60 ms is consumed in a session establishment under the proxy mode for the step of Session passing specified in Section 4.2.