Deployment Example: Sun Java System Communications Services for Access Anywhere (EdgeMail)

ProcedureTo Configure Instant Messaging on the BE Server

Configure Instant Messaging on the BE server phys-bedge6-2.us.

Steps
  1. Run the Instant Messaging configurator:


    # cd to the IM installation directory
    # cd /opt/SUNWiim
    # ./configure -nodisplay

    Components to configure:
            Sun Java System Instant Messaging Server
            Sun Java System Instant Messenger Resources
      Host name:        im-amer-01
      DNS Domain name:  central.example.com
      User ID:          iimuser
      Group ID:         iimgroup
      Instant Messaging Server runtime files directory:  /var/opt/SUNWiim
      Instant Messaging Server Configuration:
             Domain Name:             example.com
             IM Server port:          9999
             Multiplexor port:        9909
             Disable Server:          no
      LDAP Host Name:    empldap1.us.example.com
      LDAP Port Number:  389
      Base DN:           dc=example,dc=com
      Bind DN:           cn=directory manager
      Bind Password:     (enter directory manager password here)
      SMTP Server Host Name:   mail-amer-xfr.example.com
      Messenger Resources Code Base URL:   http://im-amer-01.us.example.com:80
      Start Instant Messaging Services after successful configuration:  no
      Start Instant Messaging Services on system startup:               yes
  2. Edit the /etc/opt/SUNWiim/default/config/iim.conf file and verify the following parameters:


    iim.smtpserver = "mail-amer-xfr.example.com"
    iim.instancedir = "/opt/SUNWiim"
    iim.instancevardir = "/var/opt/SUNWiim/default"
    iim.user = "iimuser"
    iim.group = "iimgroup"
    ! iim_ldap.host = "ds-amer-01.us.example.com:389"
    iim_ldap.host = "empldap1.us.example.com:389"
    iim_ldap.searchbase = "dc=example,dc=com"
    iim_ldap.usergroupbinddn = ""
    iim_ldap.usergroupbindcred = ""
    iim.log.iim_server.severity = "INFO"
    iim.log.iim_mux.severity = "INFO"
    iim.log.iim_wd.severity = "INFO"
    iim.log.agent-calendar.severity = "INFO"
    iim_server.domainname = "example.com"
    iim_server.useport = "True"
    iim_server.port = "5269"
    iim_server.usesslport = "False"
    iim_server.enable = "true"
    iim_server.clienttimeout = "15"
    iim_server.usesso = "0"
    iim.policy.modules = "iim_ldap"
    iim.userprops.store = "file"
    iim_mux.listenport = "im-amer-01.us.example.com:9909"
    iim_mux.serverport = "im-amer-01.us.example.com:9999"
    iim_mux.enable = "true"
    iim_mux.numinstances = "4"
    iim_mux.maxthreads = "10"
    iim_mux.maxsessions = "1000"
    iim_wd.enable = "true"
    iim_wd.period = "300"
    iim_wd.maxRetries = "3"
  3. If you are deploying EdgeMail complexes in multiple locations, each must have local calendar agent to communicate with the other complexes. For each remote complex, such as the one serving Asia located in Japan for this example, perform the following steps:

    1. Create a directory for the calendar agent:


      # cd /var/opt/SUNWiim
      # mkdir cal-agent2-jp
    2. Create the individual configuration files for the calendar agent:


      # cd /etc/opt/SUNWiim/default/config
      # cp iim.conf cal2.conf
    3. Edit cal2.conf and change the following parameters:


      iim_server.enable = "false"
      iim_wd.enable = "false"
      iim_mux.enable = "false"
    4. Now modify the calendar agent information in the cal2.conf file


      iim.instancevardir = "/var/opt/SUNWiim/cal-agent2-jp"
      !
      ! Calendar-IM integration Configuration
      ! iim_agent.enable="true"
      ! iim_agent.agent-calendar.enable="true"
      ! iim_server.components=agent-calendar
      agent-calendar.jid=calimbot.aedge3-cal1.jp.example.com
      agent-calendar.password=password
      agent-calendar.category=component
      
      ! JMS Consumers
      jms.consumers=cal_reminder
      jms.consumer.cal_reminder.destination=enp:///ics/customalarm
      jms.consumer.cal_reminder.provider=ens
      jms.consumer.cal_reminder.type=topic
      jms.consumer.cal_reminder.param="eventtype=calendar.alarm"
      jms.consumer.cal_reminder.factory=com.iplanet.im.server.JMSCalendarMessageListener
      
      ! JMS providers
      jms.providers=ens
      jms.provider.ens.broker=aedge3-cal1.jp.example.com:7997
      jms.provider.ens.factory=com.iplanet.ens.jms.EnsTopicConnFactory
    5. Edit the iim.conf file to modify the Calendar Agent information:


      ! Calendar-IM integration Configuration
      iim_agent.enable="true"
      iim_agent.agent-calendar.enable="true"
      iim_server.components=agent-calendar,agent-calendar2[,...]
      
      agent-calendar.jid=calimbot.bedge5-cal1.us.example.com
      agent-calendar.password=netscape
      agent-calendar.category=component
      
      agent-calendar2.jid=calimbot.aedge3-cal1.jp.example.com
      agent-calendar2.password=netscape
      agent-calendar2.category=component
      
      [...]
      
      ! JMS Consumers
      jms.consumers=cal_reminder
      jms.consumer.cal_reminder.destination=enp:///ics/customalarm
      jms.consumer.cal_reminder.provider=ens
      jms.consumer.cal_reminder.type=topic
      jms.consumer.cal_reminder.param="eventtype=calendar.alarm"
      jms.consumer.cal_reminder.factory=com.iplanet.im.server.JMSCalendarMessageListener
      
      ! JMS providers
      jms.providers=ens
      jms.provider.ens.broker=bedge5-cal1.us.example.com:7997
      jms.provider.ens.factory=com.iplanet.ens.jms.EnsTopicConnFactory
    6. Edit the /etc/init.d/sunwiim file to add the additional Calendar Agent information:


      #!/bin/sh
      #
      # Copyright (c) 1991-2001, by Sun Microsystems, Inc.
      #
      #ident  "@(#)sunwiim     1.7     96/10/02 SMI"
      
      case "$1" in
      'start')
              /opt/SUNWiim/sbin/imadmin start
      
              # Start the JP calendar agent
              /opt/SUNWiim/sbin/imadmin -c /opt/SUNWiim/config/cal2.conf start agent-calendar
              # Start other calendar agents here if neccessary
              ;;
      'stop')
              /opt/SUNWiim/sbin/imadmin stop
              # Stop the JP calendar agent
              /opt/SUNWiim/sbin/imadmin -c /opt/SUNWiim/config/cal2.conf stop agent-calendar
              # Stop other calendar agents here if neccessary
              ;;
      *)
              echo "Usage: /etc/init.d/sunwiim { start | stop }"
              ;;
      esac
      exit