For Web Space Server users to see each others online, and to make calls to each other, they need to install SIP client on their respective machines and need to configure it with their user details. Users are recommended to use Windows compatible version of X-Lite as the SIP client. Download and install SIP client on a machine from which you want to access an instance of Web Space Server. In this case, you are recommended to use X-Lite as the SIP client on a Windows machine. Download X-Lite to a preferred location on your machine, and run the executable to install it in a few self instructive steps.
Call functionality works in two modes:
In authentication mode, the credentials (username, password) entered in X-Lite client are validated against the actual username and password of the user present in the lportal database.
This is the simple authentication mode, in which the password is not validated. Call functionality uses this authentication mode by default.
This task assumes a scenario in which Web Space Server is installed on a server, and it is accessed by two Windows machines, Machine A and Machine B. Perform this task on each machine to configure the X-Lite client.
Right-click the SIP softphone and select SIP Account Settings.
Click the Add button on the SIP Accounts page.
Add the account details.
You need to specify the User Details and Domain Proxy details. In the User Details section; you need to specify the Display Name, User Name, Password, and Domain. In the Domain Proxy section; select the proxy button, and specify the proxy address. The proxy address is specified in the format of machine-name:5060, where machine-name is the machine on which SailFin is deployed on call-registrar. In this example, example132.com:5060 is the proxy address.
System port 5060 is the default gateway commonly associated with the Session Initiation Protocol.
In this example, we have two users; Paul and James with username and email id as paul and paul@example.com, and james and james@example.com respectively, with the domain name example.com.
Default configuration for X-Lite client do not require password authentication. The following table lists the values you need to specify for user details in the SIP account properties window in case of the default configuration:
User Details |
Value Required on Machine A |
Value Required on Machine B |
Display Name |
display name |
display name |
User Name |
paul@example.com |
james@example.com |
Password |
not required |
not required |
Authorization user name |
not required |
not required |
Domain |
example.com |
example.com |
You can make the configuration changes which makes the X-Lite client to work in the authentication mode. For the instruction to make these configuration changes, see To Make Configuration Changes for Authentication Mode. The following table lists the values you need to specify for user details in the SIP account properties window if you are making configuration changes which makes the X-Lite client to require password authentication:
User Details |
Value Required on Machine A |
Value Required on Machine B |
Display Name |
display name |
display name |
User Name |
paul@example.com |
james@example.com |
Password |
password |
password |
Authorization user name |
paul@example.com |
james@example.com |
Domain |
example.com |
example.com |
Click Apply and OK buttons.
Close the SIP Accounts window.
You can see the Registering... message on the SIP softphone display, which turns to Ready after the machine is authenticated.
Along with that, your SIP account information is displayed on the softphone display in the format Your user name is: SIP user name.
If any of the user details and the proxy address is not specified
Navigate to glassfish-dir\domains\domain1\applications\j2ee-modules\webspace\WEB-INF\classes folder on the machine on which Web Space Server is installed, and open the portal-ext.properties file using any text editor. The portal-ext.properties file contains the following lines:
login.events.post=com.liferay.portal.events.LoginPostAction,com.liferay.portal.events.DefaultLandingPageAction #login.events.post=com.liferay.portal.events.LoginPostAction,com.liferay.portal.events.DefaultLandingPageAction, com.sun.portal.events.CallUserLoginAction |
Comment the first line, and uncomment the second line. The changed contents of the portal-ext.properties file look as follows:
#login.events.post=com.liferay.portal.events.LoginPostAction,com.liferay.portal.events.DefaultLandingPageAction login.events.post=com.liferay.portal.events.LoginPostAction,com.liferay.portal.events.DefaultLandingPageAction, com.sun.portal.events.CallUserLoginAction |
Save the portal-ext.properties file.
Restart GlassFish.
On the machine on which call-registrar is deployed on SailFin, navigate to webspace-dir/webspace/call-registrar/distribution/deploy/call-registrar/WEB-INF folder. Open the sip.xml file, and uncomment the following lines:
<!-- <security-constraint> <display-name>UserConstraint</display-name> <resource-collection> <servlet-name>RegistrarServlet</servlet-name> <sip-method>REGISTER</sip-method> </resource-collection> <auth-constraint> <description>authentication-configuration</description> <role-name>1234</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>DIGEST</auth-method> <realm-name>PortalRealm</realm-name> </login-config> <security-role> <description/> <role-name>1234</role-name> </security-role> --> |
Open the sun-sip.xml file, and uncomment the following lines.
<!-- <security-role-mapping> <role-name>1234</role-name> <group-name>1234</group-name> </security-role-mapping> --> |
Login to Sailfin admin console.
Navigate to Configuration -> Security -> Realms, and create PortalRealm.
You need to select com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm as the Class Name. In the Properties specific to this Class, Encoding need to be set to HASHED.
Save the changes.
Create a JDBC connection pool. To create the JDBC connection pool, navigate to Resources -> JDBC -> Connection Pools, and click New.
You are prompted to create a new JDBC connection pool.
Select Javax.sql.DataSource as the Resource Type, and MySQL as the Database Vendor. Specify a name for the connection pool, and click Next.
For example, we are creating a connection pool named webspace.
Click Finish to complete creating the new JDBC connection pool.
Select the JDBC connection pool, and navigate to the Additional Properties tab.
Add properties with the following values, and remove all the remaining properties:
Property Name |
Vaule |
Description |
User |
root |
Database username |
Port |
3306 |
MySQL port |
Url |
jdbc:mysql://machine ip address/lportal |
IP address of the machine on which the portal is running |
Password |
abc123 |
Database password |
Save the changes.
Navigate to the General tab, and click the Ping button to test the connection.
Navigate to Resources -> JDBC -> JDBC Resources, and click New to create a new jdbc resource.
Specify a JNDI Name, and select a Pool Name.
In the earlier example, a connection pool named webspace is created. You can select that connection pool.
Click OK to create the JDBC resource.
Navigate to the General tab, and click the Ping button to test the connection.
Login to MySQL, and type grant all privileges on *.* to root@machine-name identified 'abc123'; in the command prompt, where root is the database username, and abc123 is the password.
Restart GlassFish and Sailfin. Now the X-Lite client requires password authentication.
Configure the X-Lite client using the steps in To Configure X-Lite for a Web Space Server User.