⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgcppackage.c

📁 内容正如其名
💻 C
📖 第 1 页 / 共 2 页
字号:
};static DWORD ResourceReservationPackage [] = {  (DWORD)"re",  RES_ERROR, MGCP_EVT, 0, 0,  (DWORD)"rl",  RES_LOST,  MGCP_EVT, 0, 0,  TABLE_END};static DWORD AnnouncementServerPackage [] = {  (DWORD)"ann",  A_PLAY_ANNOUNCEMENT,   MGCP_SIG, SIG_TO, 0,  (DWORD)"oc",   A_OPERATION_COMPLETE,  MGCP_EVT, 0,      0,  (DWORD)"of",   A_OPERATION_FAILURE,   MGCP_EVT, 0,      0,  TABLE_END};static DWORD ScriptPackage [] = {  (DWORD)"ir",    SCRIPT_INTERMEDIATE_RESULTS,  MGCP_ALL, SIG_BR, 0,  (DWORD)"java",  SCRIPT_JAVA,                  MGCP_SIG, SIG_TO, 0,  (DWORD)"oc",    SCRIPT_OPERATION_COMPLETE,    MGCP_EVT, 0,      0,  (DWORD)"of",    SCRIPT_OPERATION_FAILURE,     MGCP_EVT, 0,      0,  (DWORD)"perl",  SCRIPT_PERL,                  MGCP_SIG, SIG_TO, 0,  (DWORD)"tcl",   SCRIPT_TCL,                   MGCP_SIG, SIG_TO, 0,  (DWORD)"vxml",  SCRIPT_VXML,                  MGCP_SIG, SIG_TO, 0,  (DWORD)"xml",   SCRIPT_XML,                   MGCP_SIG, SIG_TO, 0,  TABLE_END};/* PakcageName / Package ID/ PackageTable / PackageVersion */#define MGCP_PKG_TABLE_OFFSET 4static DWORD MGCPPackageTable[] = {  (DWORD)"*",      MGCP_PKG_ANY,                    (DWORD)0, 0,  (DWORD)"L",      MGCP_PKG_LINE,                   (DWORD)LinePackage, 1,  (DWORD)"G",      MGCP_PKG_GENERIC_MEDIA,          (DWORD)GenericMediaPackage, 1,  (DWORD)"D",      MGCP_PKG_DTMF,                   (DWORD)DTMFPackage, 1,  (DWORD)"T",      MGCP_PKG_TRUNK,                  (DWORD)TrunkPackage, 1,  (DWORD)"H",      MGCP_PKG_HANDSET_EMULATION,      (DWORD)HandsetEmulationPackage, 1,  (DWORD)"SST",    MGCP_PKG_SERVICES_TONE,          (DWORD)ServicesTonePackage, 1,  (DWORD)"DM1",    MGCP_PKG_DIGIT_MAP_EXTENSION,    (DWORD)DigitMapExtensionPackage, 1,  (DWORD)"SL",     MGCP_PKG_SIGNAL_LIST,            (DWORD)SignalListPackage, 1,  (DWORD)"FM",     MGCP_PKG_MEDIA_FORMAT_PARAMETER, (DWORD)MediaFormatPackage, 1,  (DWORD)"R",      MGCP_PKG_RTP,                    (DWORD)RTPPackage, 1,  (DWORD)"RES",    MGCP_PKG_RESOURCE_RESERVATION,   (DWORD)ResourceReservationPackage, 1,  (DWORD)"A",      MGCP_PKG_ANNOUNCEMENT_SERVER,    (DWORD)AnnouncementServerPackage, 1,  (DWORD)"SCRIPT", MGCP_PKG_SCRIPT,                 (DWORD)ScriptPackage, 1,  TABLE_END};/****************************************************************************** * Function          : FindMgcpPackageByName * * Description       : Find the mgcp package by name and return * * Input parameters  : pcPackageName - Mgcp package name to be search * * Output parameters : pPackage - The target mgcp package found * * Return value      : Return OK if the mgcp package is found successfully, *                     otherwise return FAIL. * * Comments          :  * * History           : *  2005/08/05       : Creation * * Date              : Aug 05 2005, Frank ZHANG ******************************************************************************/LONG FindMgcpPackageByName(MGCP_PACKAGE *pPackage, char *pcPackageName){  DWORD *pPkgTableEntry = MGCPPackageTable;    Assert(pPackage);  Assert(pcPackageName);    while (*pPkgTableEntry != TABLE_END)  {    if (StrCaseCmp(pcPackageName, (char*)pPkgTableEntry[0]) == 0)    {      strcpy(pPackage->Name, (char*)pPkgTableEntry[0]);      pPackage->ePackageType = (E_MGCP_PACKAGE)pPkgTableEntry[1];      pPackage->pEventTable = (DWORD*)pPkgTableEntry[2];      pPackage->dwPackageVersion = pPkgTableEntry[3];      return OK;    }        pPkgTableEntry += MGCP_PKG_TABLE_OFFSET;  }  pPackage->ePackageType = MGCP_PKG_UNDEFINED;  pPackage->pEventTable = NULL;  pPackage->dwPackageVersion = 0;  return FAIL;}/****************************************************************************** * Function          : FindMgcpPackageByID * * Description       : Find the mgcp package by ID and return * * Input parameters  : PackageID - Mgcp package ID to be search * * Output parameters : pPackage - The target mgcp package found * * Return value      : Return OK if the mgcp package is found successfully, *                     otherwise return FAIL. * * Comments          :  * * History           : *  2005/08/05       : Creation * * Date              : Aug 05 2005, Frank ZHANG ******************************************************************************/LONG FindMgcpPackageByID(MGCP_PACKAGE *pPackage, E_MGCP_PACKAGE PackageID){  DWORD *pPkgTableEntry = MGCPPackageTable;    Assert(pPackage);  if (PackageID != MGCP_PKG_ANY && PackageID != MGCP_PKG_UNDEFINED)  {    while (*pPkgTableEntry != TABLE_END)    {      if (PackageID == pPkgTableEntry[1])      {        strcpy(pPackage->Name, (char*)pPkgTableEntry[0]);        pPackage->ePackageType = (E_MGCP_PACKAGE)pPkgTableEntry[1];        pPackage->pEventTable = (DWORD*)pPkgTableEntry[2];        pPackage->dwPackageVersion = pPkgTableEntry[3];        return OK;      }            pPkgTableEntry += MGCP_PKG_TABLE_OFFSET;    }  }  pPackage->ePackageType = MGCP_PKG_UNDEFINED;  pPackage->pEventTable = NULL;  pPackage->dwPackageVersion = 0;  return FAIL;}/****************************************************************************** * Function          : FindMgcpPkgEventByName * * Description       : Find the mgcp event by name and return * * Input parameters  : pcEventName - Mgcp event name to be search *                     ePackageType - Mgcp event package type to be search * * Output parameters : MGCP_PKG_EVENT - The target mgcp event found * * Return value      : Return OK if the mgcp event is found successfully, *                     otherwise return FAIL. * * Comments          :  * * History           : *  2005/08/05       : Creation * * Date              : Aug 05 2005, Frank ZHANG ******************************************************************************/LONG FindMgcpPkgEventByName(MGCP_PKG_EVENT *pEvent, char *pcEventName,                            E_MGCP_PACKAGE ePackageType){  MGCP_PACKAGE Package;  DWORD *pEventTableEntry;    Assert(pEvent);  Assert(pcEventName);  /* Find the package event table */  if (FindMgcpPackageByID(&Package, ePackageType) != OK)    return FAIL;  pEventTableEntry = Package.pEventTable;  if (pEventTableEntry != NULL)  {    while (*pEventTableEntry != TABLE_END)    {      if (StrCaseCmp(pcEventName, (char*)pEventTableEntry[0]) == 0)      {        strcpy(pEvent->Name, (char*)pEventTableEntry[0]);        pEvent->eEventID = (E_MGCP_EVENT)pEventTableEntry[1];        pEvent->eEventType = (E_MGCP_EVENT_TYPE)pEventTableEntry[2];        pEvent->eSigType = (E_MGCP_SIGNAL_TYPE)pEventTableEntry[3];        pEvent->dwSigDuration = pEventTableEntry[4];        return OK;      }            pEventTableEntry += MGCP_EVENT_TABLE_OFFSET;    }  }    return FAIL;}/****************************************************************************** * Function          : FindMgcpPkgEventByID * * Description       : Find the mgcp event by ID and return * * Input parameters  : eEventID - Mgcp event ID to be search *                     ePackageType - Mgcp event package type to be search * * Output parameters : MGCP_PKG_EVENT - The target mgcp event found * * Return value      : Return OK if the mgcp event is found successfully, *                     otherwise return FAIL. * * Comments          :  * * History           : *  2005/08/05       : Creation * * Date              : Aug 05 2005, Frank ZHANG ******************************************************************************/LONG FindMgcpPkgEventByID(MGCP_PKG_EVENT *pEvent, E_MGCP_EVENT eEventID,                          E_MGCP_PACKAGE ePackageType){  MGCP_PACKAGE Package;  DWORD *pEventTableEntry;    Assert(pEvent);  /* Find the package event table */  if (FindMgcpPackageByID(&Package, ePackageType) != OK)    return FAIL;  /* Check if is "ALL" event*/  if (eEventID == MGCP_EVT_ALL)  {    strcpy(pEvent->Name, "all");    return OK;  }  pEventTableEntry = Package.pEventTable;  Assert(pEventTableEntry);    if (pEventTableEntry != NULL)  {    while (*pEventTableEntry != TABLE_END)    {      if (eEventID == pEventTableEntry[1])      {        strcpy(pEvent->Name, (char*)pEventTableEntry[0]);        pEvent->eEventID = (E_MGCP_EVENT)pEventTableEntry[1];        pEvent->eEventType = (E_MGCP_EVENT_TYPE)pEventTableEntry[2];        pEvent->eSigType = (E_MGCP_SIGNAL_TYPE)pEventTableEntry[3];        pEvent->dwSigDuration = pEventTableEntry[4];        return OK;      }            pEventTableEntry += MGCP_EVENT_TABLE_OFFSET;    }  }    return FAIL;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -