1.6.4.2 µé¾î¿À´Â È£ÃâÀÇ ÀεðÄÉÀ̼Ç
ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº ³×Æ®¿öÅ©À¸·ÎºÎÅÍ ¸Þ½ÃÁöµéÀ» ½Ã±×³Î¸µ ÇÔÀ¸·Î½á µé¾î¿À´Â È£Ãâ¿¡ ´ëÇØ °æ°íµÇ¾îÁø´Ù.
ÀÌ·¯ÇÑ ½Ã±×³Î¸µ ¸Þ½ÃÁö·ÎºÎÅÍ ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº µé¾î¿À´Â È£ÃâÀ» ÁÖ¼ÒÈÇÏ´Â SAP¸¦ Æ÷ÇÔÇØ¼ È£ÃâÀ»
À§ÇÑ ÄÝ ¸Å°³º¯¼öµéÀ» »©³½´Ù.
±×¸² 1.25´Â µé¾î¿À´Â È£ÃâÀ» ÀεðÄÉÀÌÆ®ÇÏ´Â ÄÝ ¸Å´ÏÀú¸¦ º¸¿©ÁØ´Ù.

±×¸² 1.25 ÄÝ ¸Å´ÏÀú¸¦ ÅëÇØ¼ µé¾î¿À´Â È£Ãâ ÀεðÄÉÀÌÆ®Çϱâ
±×¸² 1.26Àº µé¾î¿À´Â È£ÃâÀ» ÀεðÄÉÀÌÆ®ÇÏ´Â ÄÝ ¸Å´ÏÀú¸¦ º¸¿©ÁØ´Ù.

±×¸² 1.26 MCMÀ» ÅëÇØ¼ µé¾î¿À´Â È£Ãâ ÀεðÄÉÀÌÆ®Çϱâ
¸¸¾à µé¾î¿À´Â ÄÝ ¸Å°³º¯¼öµéÀÌ ÄÝ ¸Å´ÏÀú ȤÀº MCM¿¡¼ ¼ö¶ôÇÒ ¼ö ¾ø´Ù¸éÀº, ¸¸¾à µå·¯ÇÑ ±³¼·ÀÌ ½Ã±×³Î¸µ
ÇÁ·ÎÅäÄÝ¿¡ ÀÇÇØ Çã¶ôµÇÁö ¾Ê´Â´Ù¸éÀº ¸®¸ðÆ® party·Î ÀÌ·¯ÇÑ ¸Å°³º¯¼öµé¿¡¼ º¯È¸¦ ±³¼·ÇÏ·Â ½ÃµµÇÒ ¼ö ÀÖ´Ù.
´ëüÀûÀ¸·Î, µé¾î¿À´Â È£ÃâÀÌ Áö½ÃµÇ¾îÁö´Â(direct) Ŭ¶óÀÌ¾ðÆ®´Â ÄÝ ¸Å´ÏÀú ȤÀº MCMÀ¸·ÎºÎÅÍ È£Ãâ ÀεðÄÉÀμÇÀ»
¼ö½ÅÇÑ ÈÄ ÄÝ ¸Å°³º¯¼öµéÀ» ±³¼·ÇÏ·Á°í ½ÃµµÇÒ ¼ö ÀÖ´Ù. (Section 1.6.5.1¸¦ ºÁ¶ó.)
¸¸¾à ÄÝ ¸Å´ÏÀú ȤÀº MCMÀÌ ¸®¸ðÆ® party·Î È£ÃâÀ» À§ÇÑ ¼ö¶ôÇÒ ¼ö ÀÖ´Â ÄÝ ¸Å°³º¯¼öµéÀ» ±³¼·ÇÒ ¼ö ¾ø´Ù¸éÀº,
È£ÃâÀ» ´Ù½Ã »ç¿ëÇÒ °ÍÀÌ´Ù. ½Ã±×³Î¸µ ÇÁ·ÎÅäÄÝÀº ±×·¯ÇÑ °æ¿ì¿¡ °¡´ÉÇÑÁö¸¦ °áÁ¤ÇÑ´Ù.
Ŭ¶óÀÌ¾ðÆ®¿¡ µé¾î¿À´Â È£ÃâÀ» ÀεðÄÉÀÌÆ®Çϱâ Àü¿¡, ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº È£ÃâÀÌ Áö½ÃµÇ¾îÁö´Â(direct)
SAP¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. SAP´Â Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ Àü¿¡ µî·ÏµÇ¾îÁ®¾ß ÇÑ´Ù.(Section 1.6.2.2¸¦ ºÁ¶ó).
ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº °¡»ó ¿¬°áÀÇ ¸¸µå´Â °ÍÀ» ÃʱâÈÇØ¾ß Çϰí(Section 1.6.3.1¸¦ ºÁ¶ó.) ÀÌ·¯ÇÑ VCÀÇ È°¼ºÈ¸¦
ÃʱâÈÇØ¾ß ÇÑ´Ù.(Section 1.6.3.2¸¦ ºÁ¶ó.)
ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº ±×¸®°í³ª¼ µé¾î¿À´Â È£ÃâÀÌ Áö½ÃµÇ¾îÁö´Â(direct) SAP¸¦ µî·ÏÇÑ Å¬¶óÀÌ¾ðÆ®¿¡ ´ëÇÑ
µé¾î¿À´Â È£ÃâÀ» ÀεðÄÉÀÌÆ®ÇÑ´Ù. ÄÝ ¸Å´ÏÀú°¡ NdisCmDispatchIncomingCall·Î µé¾î¿ÀÀº È£ÃâÀ» ÀεðÄÉÀÌÆ®ÇÑ´Ù.
MCMÀº NdisMCmDispatchIncomingCall·Î µé¾î¿À´Â È£ÃâÀ» ÀεðÄÉÀÌÆ®ÇÑ´Ù.
Ndis(M)CmDispatchIncomingcall¿¡ ´ëÇÑ È£Ãâ·Î, ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº ´ÙÀ½°ú °°Àº °ÍÀ» Àü´ÞÇÑ´Ù:
- µé¾î¿À´Â È£ÃâÀÌ ÁÖ¼ÒÈµÈ SAP¸¦ ÁöÁ¤ÇÏ´Â NdisSapHandle
- µé¾î¿À´Â È£ÃâÀ» À§ÇÑ °¡»ó ȸ·Î¸¦ ÁöÁ¤ÇÏ´Â NdisVcHandle
- È£ÃâÀ» À§ÇÑ ÄÝ ¸Å°³º¯¼öµéÀ» Æ÷ÇÔÇϴ ŸÀÔ CO_CALL_PARAMETERSÀÇ ±¸Á¶Ã¼ Æ÷ÀÎÅÍ
Ndis(M)CmDispatchIncomingCall¿¡ ´ëÇÑ È£ÃâÀº NDIS°¡ Ŭ¶óÀÌ¾ðÆ®°¡ ¿ä±¸µÈ ¿¬°áÀ» Çã¶ôÇϰųª °ÅÀýÇÏ´Â
°Í ³»¿¡¼ Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClIncomingCall¸¦ È£ÃâÇϵµ·Ï ÇÑ´Ù.
ProtocolClIncomingCallÀº SAP, VC, ÄÝ ¸Å°³º¯¼öµéÀ» À¯È¿È(validate) ÇØ¾ß ÇÑ´Ù.
ProtocolClIncomingCallÀº µ¿±âÀûÀ¸·Î ¿Ï¼ºÇÒ ¼ö Àְųª ȤÀº NDIS_STATUS_PENDINGÀ» ¸®ÅÏÇÒ ¼ö ÀÖ°í
NdisClIncomingCallComplete·Î ºñµ¿±âÀûÀ¸·Î ¿Ï¼ºÇÒ ¼ö ÀÖ´Ù.
NdisClIncomingCallComplete´Â NDIS¿¡°Ô ÄÝ ¸Å´ÏÀúÀÇ È¤Àº MCMÀÇ ProtocolCmIncomingCallComplete ÇÔ¼ö¸¦
È£ÃâÇϵµ·Ï ÇÑ´Ù.
ProtocolClIncomingCallÀÇ µ¿±âÀûÀÎ ¿Ï¼º¿¡ ÀÇÇØ ¸®ÅÏµÈ È¤Àº NdisClIncomingCallComplete¿¡ Á¦°øµÈ
NDIS_STATUS ÄÚµå´Â µé¾î¿À´Â È£ÃâÀÇ Å¬¶óÀ̾ðÆ®ÀÇ Çã¶ô ȤÀº °ÅÀýÀ» ÀεðÄÉÀÌÆ®ÇÑ´Ù.
Ŭ¶óÀÌ¾ðÆ®´Â ¶ÇÇÑ ¹öÆÛÈµÈ CO_CALL_PARAMETERS ±¸Á¶Ã¼³»¿¡¼ È£ÃâÀ» À§ÇÑ ÄÝ ¸Å°³º¯¼öµéÀ» ¸®ÅÏÇÑ´Ù.
¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ ¼ö¶ôÇÒ ¼ö ¾ø´Â ÄÝ ¸Å°³º¯¼öµéÀ» ¹ß°ßÇÑ´Ù¸éÀº, ½Ã±×³Î¸µ ÇÁ·ÎÅäÄÝ¿¡ ÀÇÇØ Çã¶ôµÈ´Ù¸éÀº,
CALL_PARAMETERS_CHANGED·Î CO_CALL_PARAMETERS ³»¿¡ Flags ¸â¹ö¸¦ ¼³Á¤ÇÔÀ¸·Î½á ÄÝ ¸Å°³º¯¼öµé³»¿¡
º¯È¸¦ ¿ä±¸ÇÒ ¼ö ÀÖ´Ù. ±×¸®°í ¹öÆÛÈµÈ CO_CALL_PARAMETERS ±¸Á¶Ã¼³»¿¡ °³Á¤µÈ ÄÝ ¸Å°³º¯¼öµéÀ» Á¦°øÇÔÀ¸·Î½á.
¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ µé¾î¿À´Â È£ÃâÀ» ¼ö¶ôÇÑ´Ù¸éÀº, ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº È£ÃâÀÌ ¼ö¶ôµÇ¾îÁö´Â È£Ãâ ½Çü¸¦
ÀεðÄÉÀÌÆ®Çϱâ À§ÇØ ½Ã±×³Î¸µ ¸Þ½ÃÁöµéÀ» º¸³»¾ß ÇÑ´Ù.
±×·¸Áö ¾Ê´Â´Ù¸éÀº, ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº È£ÃâÀÌ °ÅÀýµÇ¾ú´Ù´Â °ÍÀ» ¾Ë¸®±â À§ÇØ ½Ã±×³Î¸µ ¸Þ½ÃÁöµéÀ» º¸³»¾ß
ÇÑ´Ù. ¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ ÄÝ ¸Å°³º¯¼öµé³»¿¡¼ º¯È¸¦ ¿ä±¸ÇÑ´Ù¸éÀº, ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº
ÄÝ ¸Å°³º¯¼öµé³»¿¡¼ º¯È¸¦ ¿ä±¸Çϱâ À§ÇØ ½Ã±×³Î¸µ ¸Þ½ÃÁöµéÀ» º¸³½´Ù.
¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ È£ÃâÀ» ¼ö¶ôÇÑ´Ù¸éÀº, ȤÀº ¸¸¾à ÄÝ ¸Å°³º¯¼öµé³»¿¡¼ Ŭ¶óÀ̾ðÆ®ÀÇ ¿ä±¸µÈ º¯È¸¦
¸®¸ðÆ® party¿¡ ÀÇÇØ ¼ö¶ôÇÑ´Ù¸éÀº, ÄÝ ¸Å´ÏÀú´Â NdisCmDispatchCallConnected¸¦ È£ÃâÇϰí, MCMÀº
NdisMCmDispatchCallConnected¸¦ È£ÃâÇÑ´Ù. Ndis(M)CmDispatchCallConnected¿¡ ´ëÇÑ È£ÃâÀº NDIS°¡
Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClCallConnected ÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï ÇÑ´Ù.
¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ È£ÃâÀ» °ÅÀýÇϰí ÄÝ ¸Å´ÏÀú ȤÀº MCMÀÌ ÀÌ¹Ì µé¾î¿À´Â È£ÃâÀ» À§ÇØ VC¸¦ Ȱ¼ºÈÇß´Ù¸éÀº,
ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº ¸¸¾à VC°¡ Ȱ¼ºÈµÇ¾ú´Ù¸éÀº, VC¸¦ ºñȰ¼ºÈÇϱâ À§ÇØ Ndis(M)CmDeactivateVc¸¦
È£ÃâÇÑ´Ù. ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº ±×¸®°í³ª¼ ÄÝ ¸Å´ÏÀúÀÇ °æ¿ì¿¡ NdisCoDeleteVc¸¦ È£ÃâÇÔÀ¸·Î½á
MCMÀÇ °æ¿ì NdisMCmDeleteVc¸¦ È£ÃâÇÔÀ¸·Î½á VC Áö¿òÀ» ÃʱâÈÇÒ ¼ö ÀÖ´Ù.(Section 1.6.3.4¸¦ ºÁ¶ó.)
Ŭ¶óÀÌ¾ðÆ®°¡ È£ÃâÀ» Çã¶ôÇÏÁö¸¸Àº, ¿£µå´ë¿£µå¿¬°áÀÌ ¼º°øÀûÀ¸·Î ¼³¸³ÀÌ ¾ÈµÇ¾ú´Ù¸éÀº(¿Ö³ÄÇϸé, ¿¹¸¦ µé¾î,
¸®¸ðÆ® party°¡ È£ÃâÀ» ²÷±â ¶§¹®¿¡), ±×¸®°í ³ª¼ ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº Ndis(M)CmDispatchCallConnected¸¦
È£ÃâÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ±× ´ë½Å¿¡, NDIS°¡ Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClIncomingCloseCall ÇÔ¼ö¸¦ È£ÃâÇϵµ·ÏÇÏ´Â
Ndis(M)CmDispatchIncomingCloseCall¸¦ È£ÃâÇÒ °ÍÀÌ´Ù.
Ŭ¶óÀÌ¾ðÆ®´Â ±×¸®°í³ª¼ È£ÃâÀ» ²÷´Â °ÍÀ» ¿Ï¼ºÇϱâ À§ÇØ NdisClCloseCall¸¦ È£ÃâÇØ¾ß ÇÑ´Ù.
ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº ±×¸®°í³ª¼ µé¾î¿À´Â È£ÃâÀ» À§ÇØ ¸¸µé¾îÁø VC¸¦ ºñȰ¼ºÈÇϱâ À§ÇØ Ndis(M)CmDeactivateVc
¸¦ È£ÃâÇÑ´Ù. (Section 1.6.3.3¸¦ ºÁ¶ó). ÄÝ ¸Å´ÏÀú ȤÀº MCMÀº ±×¸®°í ³ª¼ ÄÝ ¸Å´ÏÀúÀÇ °æ¿ì NdisCoDeleteVc¸¦
È£ÃâÇÔÀ¸·Î½á MCMÀÇ °æ¿ì NdisMCmDeleteVc¸¦ È£ÃâÇÔÀ¸·Î½á VCÀÇ Áö¿òÀ» ÃʱâÈÇÒ ¼ö ÀÖ´Ù.
(Section 1.6.3.4¸¦ ºÁ¶ó.) |