Patch Name: PHNE_16180

Patch Description: s700 10.20 Multiple IE Support Patch + updated genboot

Creation Date: 98/10/28

Post Date:  99/02/25

Hardware Platforms - OS Releases:
	s700: 10.20

Products:
	Z7048A B.03.06 B.03.07

Filesets:
	VoiceLink.VOICELINK-RUN

Automatic Reboot?: No

Status: General Release

Critical: No

Path Name: /hp-ux_patches/s700/10.X/PHNE_16180

Symptoms:
	PHNE_16180:
	When an ISDN application initiates an outgoing call
	to a DMS switch, if the ALERT and NOTIFY messages
	arrive 50 milliseconds or less apart, the application
	will lose the ALERT message.

	genboot can not load both "old" and "new" versions of
	firmware.

Defect Description:
	PHNE_16180:
	The problem is caused by the ISDN library not stacking
	incoming Information Elements (IE's) in the per-channel
	data structure. If two IE's are recieved quickly, the
	2nd incoming IE overwrites the 1st recieved IE causing
	the 1st IE to be lost.  This does not occur if the IE's
	arrive less rapidly and the application has enough time
	to read the 1st IE before the 2nd arrives.

	To verify this defect, start an ISDN application to make
	an outbound ISDN call, then have the DMS switch send the
	ALERT and NOTIFY messages back-to-back immediately. The
	application should be able to retrieve the Information
	Elements for both messages.

	Updated genboot can load both "old" and "new" firmware

	Resolution:
	Modified handling of Information Elements.

	Provided updated genboot program capable of loaded both
	old and new firmware types.

SR:
	0000000000 0000000000

Patch Files:
	/opt/dialogic/include/cclib.h
	/opt/dialogic/include/isdnerr.h
	/opt/dialogic/include/isdnlib.h
	/opt/dialogic/include/isdn/cclib.h
	/opt/dialogic/include/isdn/isdnerr.h
	/opt/dialogic/include/isdn/isdnlib.h
	/opt/dialogic/lib/libdti.1
	/opt/dialogic/lib/libdti.a
	/opt/dialogic/lib/libdti_d.a
	/opt/dialogic/data/dtidms.fwl
	/opt/dialogic/data/genboot.bin
	/opt/dialogic/data/genboot.fwl
	/opt/dialogic/data/isctr4.fwl
	/opt/dialogic/data/isdms.fwl

what(1) Output:
	/opt/dialogic/include/cclib.h:
		$Revision: 1.3 $ */
	/opt/dialogic/include/isdnerr.h:
		$Revision: 1.3 $ */
	/opt/dialogic/include/isdnlib.h:
		$Revision: 1.3 $ */
	/opt/dialogic/include/isdn/cclib.h:
		$Revision: 1.3 $ */
	/opt/dialogic/include/isdn/isdnerr.h:
		$Revision: 1.3 $ */
	/opt/dialogic/include/isdn/isdnlib.h:
		$Revision: 1.3 $ */
	/opt/dialogic/lib/libdti.1:
		A.03.08 $Header: bd.c,v 1.1 97/11/21 22:22:58 carday
			c Exp $
		A.03.08 $Header: extendatr.c,v 1.1 97/11/21 22:23:00
			 cardayc Exp $
		A.03.08 $Header: dtiio.c,v 1.1 97/11/21 22:23:00 car
			dayc Exp $
		A.03.08 $Header: ts.c,v 1.1 97/11/21 22:23:11 carday
			c Exp $
		A.03.08 $Header: ndtbd.c,v 1.1 97/11/21 22:23:09 car
			dayc Exp $
		A.03.08 $Header: ndtts.c,v 1.1 97/11/21 22:23:10 car
			dayc Exp $
		A.03.08 $Header: tslot.c,v 1.1 97/11/21 22:23:12 car
			dayc Exp $
		A.03.08 $Header: ismisc.c,v 1.1 97/11/21 22:23:05 ca
			rdayc Exp $
		A.03.08 $Header: isdncfg.c,v 1.1 97/11/21 22:23:03 c
			ardayc Exp $
		A.03.08 $Header: dv.c,v 1.1 97/11/21 22:23:00 carday
			c Exp $
		A.03.08 $Header: ndtapi.c,v 1.1 97/11/21 22:23:07 ca
			rdayc Exp $
		A.03.08 $Header: ndtatr.c,v 1.1 97/11/21 22:23:08 ca
			rdayc Exp $
		A.03.08 $Header: ndtmain.c,v 1.1 97/11/21 22:23:09 c
			ardayc Exp $
		A.03.08 $Header: isdnlib.c,v 1.6 98/10/26 23:38:33 t
			sangr Exp $
		A.03.08 $Header: crn.c,v 1.4 98/10/26 23:35:01 tsang
			r Exp $
		A.03.08 $Header: callctrl.c,v 1.4 98/10/25 20:42:31
			tsangr Exp $
		A.03.08 $Header: isdnevt.c,v 1.4 98/10/26 23:36:46 t
			sangr Exp $
		A.03.08 $Header: iscallid.c,v 1.1 97/11/21 22:23:03
			cardayc Exp $
		A.03.08 $Header: hpuxport.c,v 1.2 98/03/17 13:21:52
			tsangr Exp $
	/opt/dialogic/lib/libdti.a:
		A.03.08 $Header: bd.c,v 1.1 97/11/21 22:22:58 carday
			c Exp $
		A.03.08 $Header: dv.c,v 1.1 97/11/21 22:23:00 carday
			c Exp $
		A.03.08 $Header: extendatr.c,v 1.1 97/11/21 22:23:00
			 cardayc Exp $
		A.03.08 $Header: dtiio.c,v 1.1 97/11/21 22:23:00 car
			dayc Exp $
		A.03.08 $Header: ts.c,v 1.1 97/11/21 22:23:11 carday
			c Exp $
		A.03.08 $Header: ndtapi.c,v 1.1 97/11/21 22:23:07 ca
			rdayc Exp $
		A.03.08 $Header: ndtatr.c,v 1.1 97/11/21 22:23:08 ca
			rdayc Exp $
		A.03.08 $Header: ndtbd.c,v 1.1 97/11/21 22:23:09 car
			dayc Exp $
		A.03.08 $Header: ndtmain.c,v 1.1 97/11/21 22:23:09 c
			ardayc Exp $
		A.03.08 $Header: ndtts.c,v 1.1 97/11/21 22:23:10 car
			dayc Exp $
		A.03.08 $Header: isdnlib.c,v 1.6 98/10/26 23:38:33 t
			sangr Exp $
		A.03.08 $Header: crn.c,v 1.4 98/10/26 23:35:01 tsang
			r Exp $
		A.03.08 $Header: tslot.c,v 1.1 97/11/21 22:23:12 car
			dayc Exp $
		A.03.08 $Header: callctrl.c,v 1.4 98/10/25 20:42:31
			tsangr Exp $
		A.03.08 $Header: ismisc.c,v 1.1 97/11/21 22:23:05 ca
			rdayc Exp $
		A.03.08 $Header: isdnevt.c,v 1.4 98/10/26 23:36:46 t
			sangr Exp $
		A.03.08 $Header: iscallid.c,v 1.1 97/11/21 22:23:03
			cardayc Exp $
		A.03.08 $Header: isdncfg.c,v 1.1 97/11/21 22:23:03 c
			ardayc Exp $
		A.03.08 $Header: hpuxport.c,v 1.2 98/03/17 13:21:52
			tsangr Exp $
	/opt/dialogic/lib/libdti_d.a:
		A.03.08 $Header: bd.c,v 1.1 97/11/21 22:22:58 carday
			c Exp $
		A.03.08 $Header: dv.c,v 1.1 97/11/21 22:23:00 carday
			c Exp $
		A.03.08 $Header: extendatr.c,v 1.1 97/11/21 22:23:00
			 cardayc Exp $
		A.03.08 $Header: dtiio.c,v 1.1 97/11/21 22:23:00 car
			dayc Exp $
		A.03.08 $Header: ts.c,v 1.1 97/11/21 22:23:11 carday
			c Exp $
		A.03.08 $Header: ndtapi.c,v 1.1 97/11/21 22:23:07 ca
			rdayc Exp $
		A.03.08 $Header: ndtatr.c,v 1.1 97/11/21 22:23:08 ca
			rdayc Exp $
		A.03.08 $Header: ndtbd.c,v 1.1 97/11/21 22:23:09 car
			dayc Exp $
		A.03.08 $Header: ndtmain.c,v 1.1 97/11/21 22:23:09 c
			ardayc Exp $
		A.03.08 $Header: ndtts.c,v 1.1 97/11/21 22:23:10 car
			dayc Exp $
		A.03.08 $Header: isdnlib.c,v 1.6 98/10/26 23:38:33 t
			sangr Exp $
		A.03.08 $Header: crn.c,v 1.4 98/10/26 23:35:01 tsang
			r Exp $
		A.03.08 $Header: tslot.c,v 1.1 97/11/21 22:23:12 car
			dayc Exp $
		A.03.08 $Header: callctrl.c,v 1.4 98/10/25 20:42:31
			tsangr Exp $
		A.03.08 $Header: ismisc.c,v 1.1 97/11/21 22:23:05 ca
			rdayc Exp $
		A.03.08 $Header: isdnevt.c,v 1.4 98/10/26 23:36:46 t
			sangr Exp $
		A.03.08 $Header: iscallid.c,v 1.1 97/11/21 22:23:03
			cardayc Exp $
		A.03.08 $Header: isdncfg.c,v 1.1 97/11/21 22:23:03 c
			ardayc Exp $
		A.03.08 $Header: hpuxport.c,v 1.2 98/03/17 13:21:52
			tsangr Exp $
	/opt/dialogic/data/dtidms.fwl:
		None
	/opt/dialogic/data/genboot.bin:
		None
	/opt/dialogic/data/genboot.fwl:
		None
	/opt/dialogic/data/isctr4.fwl:
		None
	/opt/dialogic/data/isdms.fwl:
		None

cksum(1) Output:
	3210337434 19721 /opt/dialogic/include/cclib.h
	449285619 3930 /opt/dialogic/include/isdnerr.h
	1285742505 7533 /opt/dialogic/include/isdnlib.h
	3210337434 19721 /opt/dialogic/include/isdn/cclib.h
	449285619 3930 /opt/dialogic/include/isdn/isdnerr.h
	1285742505 7533 /opt/dialogic/include/isdn/isdnlib.h
	1804549113 296196 /opt/dialogic/lib/libdti.1
	3675974374 270232 /opt/dialogic/lib/libdti.a
	4118083237 313760 /opt/dialogic/lib/libdti_d.a
	1826880306 408651 /opt/dialogic/data/dtidms.fwl
	1608307236 8261 /opt/dialogic/data/genboot.bin
	3284452704 71066 /opt/dialogic/data/genboot.fwl
	3144516208 1308435 /opt/dialogic/data/isctr4.fwl
	3472294206 1685777 /opt/dialogic/data/isdms.fwl

Patch Conflicts: None

Patch Dependencies: None

Hardware Dependencies: None

Other Dependencies: None

Supersedes: None

Equivalent Patches: None

Patch Package Size: 4360 KBytes

Installation Instructions:
	Please review all instructions and the Hewlett-Packard
	SupportLine User Guide or your Hewlett-Packard support terms
	and conditions for precautions, scope of license,
	restrictions, and, limitation of liability and warranties,
	before installing this patch.
	------------------------------------------------------------
	1. Back up your system before installing a patch.

	2. Login as root.

	3. Copy the patch to the /tmp directory.

	4. Move to the /tmp directory and unshar the patch:

		cd /tmp
		sh PHNE_16180

	5a. For a standalone system, run swinstall to install the
	    patch:

		swinstall -x autoreboot=true -x match_target=true \
			-s /tmp/PHNE_16180.depot

	5b. For a homogeneous NFS Diskless cluster run swcluster on the
	    server to install the patch on the server and the clients:

		swcluster -i -b

	    This will invoke swcluster in the interactive mode and
	    force all clients to be shut down.

	    WARNING: All cluster clients must be shut down prior to the
		     patch installation.  Installing the patch while the
		     clients are booted is unsupported and can lead to
		     serious problems.

	    The swcluster command will invoke an swinstall session in which
	    you must specify:

		alternate root path  -  default is /export/shared_root/OS_700
		source depot path    -  /tmp/PHNE_16180.depot

	    To complete the installation, select the patch by choosing
	    "Actions -> Match What Target Has" and then "Actions -> Install"
	    from the Menubar.

	5c. For a heterogeneous NFS Diskless cluster:

		- run swinstall on the server as in step 5a to install
		  the patch on the cluster server.

		- run swcluster on the server as in step 5b to install
		  the patch on the cluster clients.

	By default swinstall will archive the original software in
	/var/adm/sw/patch/PHNE_16180.  If you do not wish to retain a
	copy of the original software, you can create an empty file
	named /var/adm/sw/patch/PATCH_NOSAVE.

	Warning: If this file exists when a patch is installed, the
	         patch cannot be deinstalled.  Please be careful
		 when using this feature.

	It is recommended that you move the PHNE_16180.text file to
	/var/adm/sw/patch for future reference.

	To put this patch on a magnetic tape and install from the
	tape drive, use the command:

		dd if=/tmp/PHNE_16180.depot of=/dev/rmt/0m bs=2k

Special Installation Instructions:
	SUBSYSTEM_SHUT