Hi, I'm using function gc_SetInfoElem() to set CLIR while making an outbound call. But everytime I'm receiving an error: gc_SetInfoElem() on device handle: 0x3f, GC ErrorValue: 0x89 - CCLIB specific, CCLibID: 6 - GC_DM3CC_LIB, CC ErrorValue : 0x 8016 - Internal error: IE size mismatch What I'm doing wrong? My code is: IE_BLK ieblk; GC_IE_BLK gc_ieblk; GC_INFO gc_error_info; char my_num[16]; sprintf(my_num,"123456789"); ieblk.length = strlen(my_num) + 5; ieblk.data[0] = CALLER_NUMBER_IE; ieblk.data[1] = strlen(my_num)+2; ieblk.data[2] = ISDN_NUMB_PLAN; ieblk.data[3] = (unsigned char)(0x80 | ISDN_PI_RESTRICT 5 | USER_PROVIDED); strcpy(&ieblk.data[4], my_num); gc_ieblk.gclib = NULL; gc_ieblk.cclib = &ieblk; if (gc_SetInfoElem(dtihdl, &gc_ieblk) 0) { gc_ErrorInfo(&gc_error_info); printf("Error: gc_SetInfoElem() on device handle: 0x%lx, GC ErrorValue: 0x%hx - %s, CCLibID: %i - %s, CC ErrorValue : 0x % lx - %s\n", dtihdl, gc_error_info.gcValue, gc_error_info.gcMsg, gc_error_info.ccLibId, gc_error_info.ccLibName, gc_error_info.ccValue, gc_error_info.ccMsg); }
↧