Chapter 9 TAPI °´Ã¼
À̰ÍÀº Äõ¸®¿Í ¼Â Á¤º¸ ¿äûµé ¸ðµÎÀÇ TAPI ¿ÀºêÁ§Æ®µéÀ» À§ÇÑ OIDµéÀ» Á¤ÀÇÇÑ´Ù. ÀÌ·¯ÇÑ OID µéÀº À¯Àú-¸ðµå TAPI ¼ºñ½º Á¦°øÀÚµé°ú ¾Æ·¡ÀÇ WAN NIC ¹Ì´ÏÆ÷Æ® µé»çÀÌÀÇ ¿äû ÀÎÅÍÆäÀ̽º¸¦ Á¤ÀÇÇÑ´Ù. °¢°¢ÀÇ ±×·± ¿äûµéÀº NDITAPI¿Í NDISWANÀ» ÅëÇØ¼ ¸ñÇ¥ ¹Ì´ÏÆ÷Æ®±îÁö °£´Ù.
Ưº°È÷ ÀÌ·¯ÇÑ OID ¿äûµéÀÌ ¹ß»ýÇÏ´Â À¯Àú-¸ðµå ¼ºñ½º Á¦°øÀڵ鿡 °üÇÑ ÃÖ»óÀ§-·¹º§ TAPI ÄÄÆ÷³ÍÆ®µé¿¡ °üÇÑ ´õ ¸¹Àº Á¤º¸´Â, Win32 SDK¸¦ ºÁ¶ó.
¾Æ·¡ÀÇ Â÷Æ®´Â WAN ³×Æ®¿öÅ© »ó¿¡¼ TAPI¸¦ Áö¿øÇÏ´Â NIS µå¶óÀ̹ö¿Í NICµéÀ» À§ÇÑ Ãß°¡ÀûÀΠƯ¼ºµéÀ» ¾ò±â À§Çؼ »ç¿ëµÈ OIDµéÀ» ¿ä¾àÇÑ´Ù.
| Q |
S |
Name |
| |
|
Àǹ«ÀûÀÎ OID_TAPI_XXX |
| M |
OID_TAPI_ANSWER
ÀÀ´ä |
| M |
OID_TAPI_CLOSE
´Ý±â |
| M |
OID_TAPI_CLOSE_CALL
È£Ã⠴ݱâ |
| M |
OID_TAPI_CONDITIONAL_MEDIA_DETECTION
Á¶°ÇºÎÀÇ ¹Ìµð¾î °ËÃâ |
| M |
OID_TAPI_DROP
µå¶ø |
| M |
|
OID_TAPI_GET_ADDRESS_CAPS
ÁÖ¼Ò ´É·Âµé ¾ò±â |
| M |
OID_TAPI_GET_ADDRESS_ID
ÁÖ¼Ò ID ¾ò±â |
| M |
OID_TAPI_GET_ADDRESS_STATUS
ÁÖ¼Ò »óÅ ¾ò±â |
| M |
OID_TAPI_GET_CALL_ADDRESS_ID
È£Ãâ ÁÖ¼Ò ID ¾ò±â |
| M |
OID_TAPI_GET_CALL_INFO
È£Ãâ Á¤º¸ ¾ò±â |
| M |
OID_TAPI_GET_CALL_STATUS
È£Ãâ »óÅ ¾ò±â |
| M |
OID_TAPI_GET_DEV_CAPS
ÀåÄ¡ ´É·Âµé ¾ò±â |
| M |
OID_TAPI_GET_ID
ID ¾ò±â |
| M |
OID_TAPI_GET_LINE_DEV_STATUS
¶óÀÎ ÀåÄ¡ »óÅ ¾ò±â |
| M |
OID_TAPI_MAKE_CALL
È£Ãâ ¸¸µé±â |
| M |
OID_TAPI_OPEN
¿±â |
| M |
OID_TAPI_PROVIDER_INITIALIZE
Á¦°øÀÚ ÃʱâÈ |
| |
M |
OID_TAPI_PROVIDER_SHUTDOWN
Á¦°øÀÚ ¼Ë´Ù¿î |
| M |
OID_TAPI_SET_APP_SPECIFIC
¾îÇø®ÄÉÀÌ¼Ç Æ¯Á¤ ¹øÈ£ ¼³Á¤Çϱâ |
| M |
OID_TAPI_SET_CALL_PARAMS
È£Ãâ ÆÄ¶ó¹ÌÅÍ ¼³Á¤Çϱâ |
| M |
OID_TAPI_SET_DEFAULT_MEDIA_DETECTION
µðÆúÆ® ¹Ìµð¾î °ËÃâ ¼³Á¤Çϱâ |
| M |
OID_TAPI_SET_MEDIA_MODE
¹Ìµð¾î ¸ðµå ¼³Á¤Çϱâ |
| M |
OID_TAPI_SET_STATUS_MESSAGES
»óÅ ¸Þ½ÃÁö ¼³Á¤Çϱâ |
| |
Ãß°¡ÀûÀÎ OID_TAPI_XXX |
| O |
OID_TAPI_ACCEPT
¼ö¶ôÇϱâ |
| O |
|
OID_TAPI_CONFIG_DIALOG
´ÙÀ̾ó·Î±× ±¸¼º |
| O |
OID_TAPI_DEV_SPECIFIC
ÀåÄ¡ ƯÁ¤ |
| |
O |
OID_TAPI_DIAL
ÁöÁ¤µÈ È£ÃâÀ» À§ÇÑ ÁöÁ¤µÈ ¹øÈ£ ÀüȰɱâ(Dial) |
| O |
|
OID_TAPI_GET_DEV_CONFIG
ÀåÄ¡ ±¸¼º ¾ò±â |
| O |
OID_TAPI_GET_EXTENSION_ID
È®Àå ID ¾ò±â |
| O |
OID_TAPI_NEGOTIATE_EXT_VERSION
ÃÖ»óÀ§(Highest) ¼ö¶ôÇÒ¼ö ÀÖ´Â ¹öÀü È®Àå ¸®ÅÏ |
| |
O |
OID_TAPI_SET_DEV_CONFIG
ÀåÄ¡ ±¸¼º ¼³Á¤Çϱâ |
| O |
OID_TAPI_SECURE_CALL
È£Ãâ ¾ÈÀü º¸ÀåÇϱâ |
| O |
OID_TAPI_SELECT_EXT_VERSION
È®Àå ¹öÀü ¼±ÅÃÇϱâ |
| O |
OID_TAPI_SEND_USER_USER_INFO
»ç¿ëÀÚ¿¡°Ô »ç¿ëÀÚ Á¤º¸ º¸³»±â |
´Ù¸¥ OIDµé°ú ºñ±³Çؼ, Á¤ÀÇµÈ TAPI OID °ªµéÀº °¢°¢ÀÇ OID°¡ ¿ä±¸µÇ´Â °ÍÀÎÁö Ãß°¡ÀûÀÎ °ÍÀÌÁö ¾Ë¸®Áö ¾Ê´Â´Ù. TAPI OID ¿äûµéÀ» À§ÇÑ Á¤º¸ ¹öÆÛÀÇ ±æÀÌ´Â OID-ƯÁ¤ ±¸Á¶Ã¼¿¡ µû¶ó ´Ù¾çÇÏ´Ù. ¸î¸í OID-ƯÁ¤ ±¸Á¶Ã¼ÀÇ ÀνºÅϽº´Â ¶ÇÇÑ Å©±â¿¡¼, Ưº°È÷ ³ªÁß¿¡ ¼³¸íµÈ ŸÀÔ VAR_STRINGÀÇ ¸â¹ö¸¦ °¡Áö´Â TAPI-Á¤ÀÇµÈ ±¸Á¶Ã¼µé¿¡ ´ëÇØ¼ ´Ù¾çÇÏ´Ù.
WAN NIC ¹Ì´ÏÆ÷Æ®µéÀº ¾Õ Â÷Æ®¿¡¼ Àǹ«Àû(Mandatory)À¸·Î ºÙ¿©Áø OIDµéÀ» Áö¿øÇؾßÇÑ´Ù. ÁÖ¾îÁø ¹Ì´ÏÆ÷Æ®¿¡ È®Àå(extent)Àº µå¶óÀ̹ö ÀÛ¼ºÀÚµéÀÇ Àç·®°ú NICÀÇ ´É·Âµé¿¡ ÀÇÁ¸ÇÏ´Â ¾ÕÀÇ Â÷Æ®¿¡ ÀÖ´Â ÀÌ·¯ÇÑ ·¹À̺íµÈ(labeled) Ãß°¡ÀûÀÎ(Optional)°ÍÀ» Áö¿øÇÑ´Ù.
±â´ÉÀûÀÎ ¿ä±¸µéÀº ¸î°³ÀÇ TAPI OID ¿äûµé¿¡ ´ëÇØ¼´Â ²Ï °£´ÜÇÏ´Ù. ¿¹¸¦µé¸é, OID_TAPI_SET_APP_SPECIFIC ¿äûµéÀº NIC µå¶óÀ̹ö°¡ ´ÜÁö ULONG °ªÀ» ³ªÁß¿¡ OID_TAPI_GET_CALL_INFO ¿äû¿¡ ÀÇÇØ¼ ȸ¼öµÉ ¼ö ÀÖ´Â, ÁöÁ¤µÈ È£Ãâ ÀνºÅϽº¿¡ ¿¬°üÇÒ°ÍÀ» ¿ä±¸ÇÑ´Ù. NIC µå¶óÀ̹ö ÀÛ¼ºÀÚ°¡ ¹«½ÃÇÒ °ÍÀ» ¼±ÅÃÇÏ´Â ¿äûµéÀº NDIS_STATUS_TAPI_OPERATIONUNAVAIL »óÅ Äڵ带 °¡Áö°í ¿Ï¼ºµÇ¾î¾ß ÇÑ´Ù.
NIC µå¶óÀ̹ö´Â LINE_ADDRESS_CAPS ±¸Á¶Ã¼¿¡ ÀÖ´Â ulAddrCapFlags ¸â¹ö¿¡ Àִ°Íó·³ ¸î¸îÀÇ OID_TAPI_GET_XXX ¿äûµé¿¡ ´ëÇÑ ±¸Á¶Ã¼¿¡ Àִ ƯÁ¤ ºñÆ®µéÀ» ¼³Á¤Çϰí Áö¿òÀ¸·Î½á, ¶óÀÎ, ÁÖ¼Ò ¶Ç´Â È£Ãâ »óÅ¿¡ ÀÇÁ¸ÇÏ´Â ½Ã°£ ³Ñ¾î·Î ´Ù¾çÇÒÁö ¸ð¸£´Â ±×°ÍÀÌ Áö¿øÇÏ´Â ¿äûµéÀ» ¾Ë¸± ¼ö ÀÖ´Ù.
LINE_ADDRESS_CAPS ÀÇ ¼±¾ð°ú WAN ¹Ì´ÏÆ÷Æ®µéÀÌ TAPI »óŸ¦ À¯ÁöÇÏ´Â ´Ù¸¥ ½Ã½ºÅÛ-Á¤ÀÇµÈ ±¸Á¶Ã¼¿¡ ´ëÇØ¼´Â ndistapi.h¸¦ ºÁ¶ó. ÀÌ·¯ÇÑ ±¸Á¶Ã¼µé¿¡ ´ëÇÑ ´õ ¸¹Àº Á¤º¸´Â Win32 SDK¸¦ ºÁ¶ó.
TAPI Type VAR_STRING
¸î¸îÀÇ OID_TAPI_XXX ¿¡ ´ëÇØ¼, ¹Ì´ÏÆ÷µå´Â OID-ƯÁ¤ ±¸Á¶Ã¼·ÎµÈ(structured) Á¤º¸ ¹öÆÛ¿¡ ÁÖ¾îÁø´Ù. Çϳª ÀÌ»óÀÇ ÀÌ·¯ÇÑ TAPI ±¸Á¶Ã¼µéÀº ¾Æ·¡¿¡ Á¤ÀÇµÈ ¶ÇÇÑ ±¸Á¶Ã¼·ÎµÈ ¹öÆÛÀΠŸÀÔ VAR_STRING ÀÇ ¸â¹ö¸¦ °¡Áø´Ù.
typedef struct _VAR_STRING {
ULONG ulTotalSize;
ULONG ulNeededSize;
ULONG ulUsedSize;
ULONG ulStringFormat;
ULONG ulStringSize;
ULONG ulStringOffset;
} VAR_STRING, *PVAR_STRING;
|
ÀÌ·¯ÇÑ ±¸Á¶Ã¼ÀÇ ¸â¹öµéÀº ¾Æ·¡ÀÇ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.:
- ulTotalSize
- ¹öÆÛµÈ ½ºÆ®¸µÀ» Æ÷ÇÔÇÏ´Â ¹öÆÛÀÇ ¹ÙÀÌÆ® Àüüũ±â.
- ulNeededSize
- ƯÁ¤ÇÑ ½ºÆ®¸µÀ» Æ÷ÇÔÇϱâÀ§Çؼ ÇÊ¿äÇÑ ¹öÆÛÀÇ ¹ÙÀÌÆ® Å©±âµé. ¿¹¸¦µé¸é, ¸¸¾à ÇÁ·ÎÅäÄÝ-Áö¿øµÈ ¹öÆÛ°¡ ³Ê¹« ª¾Æ¼ ¿äûµÈ ½ºÆ®¸µÀ» Æ÷ÇÔÇÒ ¼ö ¾ø´Ù¸é ¾Æ·¡ÀÇ µå¶óÀ̹ö´Â ÀÌ °ªÀ» ¼³Á¤ÇÑ´Ù.
- ulUsedSize
- ½ÇÁ¦ÀûÀ¸·Î »ç¿ëµÈ ÁÖ¾îÁø ¹öÆÛÀÇ ¹ÙÀÌÆ® ¼ö.
- ulStringFormat
¾î¶»°Ô ¹öÆÛµÈ ½ºÆ®¸µÀÌ ¾Æ·¡ÁßÀÇ Çϳª·Î ÇØ¼®µÇ¾î¾ßÇÏ´ÂÁö¸¦ ÁöÁ¤ÇÑ´Ù.
STRINGFORMAT_ASCII
STRINGFORMAT_DBCS
STRINGFORMAT_UNICODE
STRINGFORMAT_BINARY
- ulStringSize
- ÁÖ¾îÁø ¹öÆÛµÈ ½ºÆ®¸µ¿¡ ÀÖ´Â ¹ÙÀÌÆ® ¼ö.
- ulStringOffset
- ½ºÆ®¸µÀÌ ½ÃÀÛ¿¡¼ ÀÌ ¹öÆÛ³»ÀÇ ¿É¼Â
¾Æ·¡ÀÇ ¼½¼ÇµéÀº ¾ÕÀÇ Â÷Æ®¿Í ±×µéÀÇ ¿¬°üµÈ TAPI ±¸Á¶Ã¼¿¡ ÀÖ´Â ¸®½ºÆ®µÈ OID_XXX¸¦ ¼³¸íÇÑ´Ù. ¸¸¾à ÀÖ´Ù¸é, ´õ ÃæºÐÈ÷
|