ISDN Software Reference for Linux and Windows
408
5. Processing the Network notification for disconnecting transferred calls:
ext_id = (EXTENSIONEVTBLK*) (metaevt.extevtdatap);
/*assumes ‘metaevt’ is filled by gc_GetMetaEvent */
switch ( event )
{
.
.
.
case GCEV_EXTENSION:
switch (ext_id);
.
.
.
case GCIS_EXEV_NOTIFY:
gc_GetInfoElem( boarddev, &ie_list );
.
.
.
// retrieve Notification IE
for (ie_len = 2; ie_len < ie_list.length;)
{
if (ie_list[ie_len] == NOTIFICATION_IE)
// found the Notification IE
{
}
else
{
/* if it is not facility IE, go to the next IE */
/* if this is single byte IE */
if (ie_list[ie_len] & 0x80)
/* increment by one byte */
ie_len = ie_len + 1;
else
/* otherwise increment by length of the IE */
ie_len = ie_len + ie_list[ie_len + 1];
}
}
break;
.
.
.
}