차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
ko:configuration_api [2021/05/25 10:57]
kkshin [BS2FaceConfig]
ko:configuration_api [2022/08/24 19:21]
kkshin [Configuration API]
줄 76: 줄 76:
   * [[BS2_GetThermalCameraConfig]]:​ [+ 2.7.1] ''​FaceStation F2, FaceStation2''​ 열화상 카메라 설정을 가져옵니다.   * [[BS2_GetThermalCameraConfig]]:​ [+ 2.7.1] ''​FaceStation F2, FaceStation2''​ 열화상 카메라 설정을 가져옵니다.
   * [[BS2_SetThermalCameraConfig]]:​ [+ 2.7.1] ''​FaceStation F2, FaceStation2''​ 열화상 카메라 설정을 저장합니다.   * [[BS2_SetThermalCameraConfig]]:​ [+ 2.7.1] ''​FaceStation F2, FaceStation2''​ 열화상 카메라 설정을 저장합니다.
 +  * [[BS2_GetBarcodeConfig]]:​ [+ 2.8] ''​X-Station 2''​ Barcode 관련 설정을 가져옵니다.
 +  * [[BS2_SetBarcodeConfig]]:​ [+ 2.8] ''​X-Station 2''​ Barcode 관련 설정을 저장합니다.
 +  * [[BS2_GetInputConfigEx]]:​ [+ 2.8.1] ''​IM-120''​ Input 관련 확장형 설정을 가져옵니다.
 +  * [[BS2_SetInputConfigEx]]:​ [+ 2.8.1] ''​IM-120''​ Input 관련 확장형 설정을 저장합니다.
 +  * [[BS2_GetRelayActionConfig]]:​ [+ 2.8.1] ''​IM-120''​ RelayAction 관련 설정을 가져옵니다.
 +  * [[BS2_SetRelayActionConfig]]:​ [+ 2.8.1] ''​IM-120''​ RelayAction 관련 설정을 저장합니다.
 +  * [[BS2_GetVoipConfigExt]]:​ [+ 2.8.3] ''​BS3''​ 확장형 VoIP 설정을 가져옵니다.
 +  * [[BS2_SetVoipConfigExt]]:​ [+ 2.8.3] ''​BS3''​ 확장형 VoIP 설정을 저장합니다.
 +  * [[BS2_GetRtspConfig]]:​ [+ 2.8.3] ''​BS3''​ RTSP 설정을 가져옵니다.
 +  * [[BS2_SetRtspConfig]]:​ [+ 2.8.3] ''​BS3''​ RTSP 설정을 저장합니다.
  
 ===== 구조체 ===== ===== 구조체 =====
줄 409: 줄 419:
 </​WRAP>​ </​WRAP>​
 6. //​menuTimeout//​ \\  6. //​menuTimeout//​ \\ 
-사용자의 장치 조작이 없을 때 잠금 화면으로 전환되는 시간이며 단위는 초(sec)를 사용합니다. 0-255 sec로 설정할 수 있습으며. 0으로 설정되면 잠금 화면으로 전환되지 않습니다.\\ ​\\ +사용자의 장치 조작이 없을 때 잠금 화면으로 전환되는 시간이며 단위는 초(sec)를 사용합니다. 0-255 sec로 설정할 수 있습으며. 0으로 설정되면 잠금 화면으로 전환되지 않습니다.\\ ​ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |메뉴화면 유지 지속 ​ | 
 +|10  |메뉴화면 유지 10초  | 
 +|20  |메뉴화면 유지 20초 (기본값) ​ | 
 +|30  |메뉴화면 유지 30초  | 
 +|40  |메뉴화면 유지 40초  | 
 +|50  |메뉴화면 유지 50초  | 
 +|60  |메뉴화면 유지 60초  | 
 +</​WRAP>​
 7. //​msgTimeout//​ \\  7. //​msgTimeout//​ \\ 
-메시지 화면이 자동으로 사라지는 시간이며 단위는 밀리초(ms)를 사용합니다. 500-5000 ms로 설정할 수 있습니다.\\ ​\\ +메시지 화면이 자동으로 사라지는 시간이며 단위는 밀리초(ms)를 사용합니다. 500-5000 ms로 설정할 수 있습니다.\\ ​ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|500  |메시지 화면 유지 500밀리초 ​ | 
 +|1000  |메시지 화면 유지 1초  | 
 +|2000  |메시지 화면 유지 2초 (기본값) ​ | 
 +|3000  |메시지 화면 유지 3초  | 
 +|4000  |메시지 화면 유지 4초  | 
 +|5000  |메시지 화면 유지 5초  | 
 +</​WRAP>​
 8. //​backlightTimeout//​ \\  8. //​backlightTimeout//​ \\ 
-백라이트 유지 시간이며 단위는 초(sec)를 사용합니다. \\ \\ +백라이트 유지 시간이며 단위는 초(sec)를 사용합니다. \\  
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |백라이트 유지 0초  | 
 +|10  |백라이트 유지 10초  | 
 +|20  |백라이트 유지 20초 (기본값) ​ | 
 +|30  |백라이트 유지 30초  | 
 +|40  |백라이트 유지 40초  | 
 +|50  |백라이트 유지 50초  | 
 +|60  |백라이트 유지 60초  | 
 +</​WRAP>​
 9. //​displayDateTime//​ \\  9. //​displayDateTime//​ \\ 
 화면에 시간을 표시할지 결정하는 flag입니다.\\ \\  화면에 시간을 표시할지 결정하는 flag입니다.\\ \\ 
줄 621: 줄 660:
     uint8_t formatID;     uint8_t formatID;
     uint8_t cipher;     uint8_t cipher;
-    uint8_t reserved[24];+    ​uint8_t smartCardByteOrder;​ 
 +    ​uint8_t reserved[22];
 } BS2CardConfig;​ } BS2CardConfig;​
 </​code>​ </​code>​
줄 687: 줄 727:
 23. //cipher// \\ 23. //cipher// \\
 Keypad로 card id를 입력받을 수 있도록 활성화 합니다. \\ Keypad로 card id를 입력받을 수 있도록 활성화 합니다. \\
-기본 값은 0이며, Xpass D2 Gangbox Keypad 만 유효합니다. \\+기본 값은 0이며, Xpass 2, Xpass D2의 Gangbox Keypad ​모델만 유효합니다. \\
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
줄 693: 줄 733:
 |1  |활성화 ​ | |1  |활성화 ​ |
 </​WRAP>​ </​WRAP>​
-24. //reserved5// \\ +24. //smartCardByteOrder//​ \\ 
 +[+2.8.2] 이전까지 smart card의 data 영역에 쓰여진 카드정보는 MSB 방식으로 고정이었습니다. \\ 
 +이로인해 LSB 방식을 사용하는 일부 controller로의 연동시, byte 정보가 반전되어 전혀 다른값으로 출력되었습니다. \\ 
 +smartCardByteOrder 값으로, MSB/LSB 출력을 유연하게 변경할 수 있습니다. \\ 
 +<WRAP group 50%> 
 +^값  ^설명 ​ ^ 
 +|0  |MSB  | 
 +|1  |LSB  | 
 +</​WRAP>​ 
 +25. //reserved// \\ 
 예약된 공간입니다. \\  예약된 공간입니다. \\ 
 ==== BS2FingerprintConfig ==== ==== BS2FingerprintConfig ====
줄 776: 줄 825:
 ==== BS2Rs485Config ==== ==== BS2Rs485Config ====
 <code cpp> <code cpp>
 +typedef struct {
 +    uint8_t supportConfig;​
 +    uint8_t useExceptionCode;​
 +    uint8_t exceptionCode[BS2_RS485_MAX_FAIL_CODE_LEN];​
 +    uint8_t outputFormat;​
 +    uint8_t osdpID;
 +    uint8_t reserved[4];​
 +} BS2IntelligentPDInfo;​
 +
 typedef struct { typedef struct {
     uint32_t baudRate;     uint32_t baudRate;
줄 789: 줄 847:
     uint8_t numOfChannels;​     uint8_t numOfChannels;​
     uint8_t reserved[2];​     uint8_t reserved[2];​
-    uint8_t reserved1[32];+    ​BS2IntelligentPDInfo intelligentInfo;​ 
 +    ​uint8_t reserved1[16];
     BS2Rs485Channel channels[BS2_RS485_MAX_CHANNELS];​     BS2Rs485Channel channels[BS2_RS485_MAX_CHANNELS];​
 } BS2Rs485Config;​ } BS2Rs485Config;​
 </​code>​ </​code>​
-1. //​baudRate//​ \\ +1. //​supportConfig//​ \\  
 +''​[+V2.8]''​ 이 값이 0으로 전달되면 장치는 아래의 Intelligent PD(Peripheral Device) 관련 설정들을 모두 무시하게 됩니다. \\ \\ 
 +2. //​useExceptionCode//​ \\  
 +''​[+V2.8]''​ 예외코드를 전송을 사용할지의 여부를 설정합니다. \\ \\ 
 +3. //​exceptionCode//​ \\  
 +''​[+V2.8]''​ 인증에 실패하거나,​ 인증 성공이지만 카드가 등록되어있지 않은 사용자의 경우 예외코드를 내보낼 수 있습니다. \\ 
 +이때 사용할 예외코드를 설정합니다. \\ 
 +만일 예외코드가 0(0x0000000000000000)이라면 예외코드가 발생되지 않습니다. \\ \\ 
 +4. //​outputFormat//​ \\  
 +''​[+V2.8]''​ 인증 성공 시 내보내어지는 정보를 지정할 수 있습니다. \\ 
 +0 이면 카드ID가,​ 1 이면 사용자ID가 출력됩니다. \\ \\ 
 +5. //osdpID// \\  
 +''​[+V2.8]''​ 동일한 ACU에 연결된 장치들을 서로 구분시켜주기위해 사용되어지는 값으로, \\ 
 +0~127 사이의 unique한 값을 설정해 지정하여주면 됩니다. \\ \\ 
 +6. //​reserved//​ \\  
 +''​[+V2.8]''​ 예약된 공간입니다.\\ \\  
 +\\ 
 +7. //​baudRate//​ \\ 
 RS485 통신 속도이며 설정할 수 있는 범위는 다음과 같습니다. \\ RS485 통신 속도이며 설정할 수 있는 범위는 다음과 같습니다. \\
 <WRAP group 50%> <WRAP group 50%>
줄 803: 줄 879:
 |115200 ​ | |115200 ​ |
 </​WRAP>​ </​WRAP>​
-2. //​channelIndex//​ \\ +8. //​channelIndex//​ \\ 
 (사용자 설정 불가) RS485 network의 통신 채널 번호입니다. \\ \\ (사용자 설정 불가) RS485 network의 통신 채널 번호입니다. \\ \\
-3. //​useRegistance//​ \\ +9. //​useRegistance//​ \\ 
 종단 저항을 설정할지 결정하는 flag입니다. - 동작에 영향 없음 \\ \\ 종단 저항을 설정할지 결정하는 flag입니다. - 동작에 영향 없음 \\ \\
-4. //​numOfDevices//​ \\ +10. //​numOfDevices//​ \\ 
 슬레이브 장치의 개수입니다.\\ \\ 슬레이브 장치의 개수입니다.\\ \\
-5. //​slaveDevices//​ \\ +11. //​reserved//​ \\  
 +예약된 공간입니다.\\ \\  
 +12. //​slaveDevices//​ \\ 
 슬레이브 장치를 나열한 리스트로 최대 32개까지 정의할 수 있습니다.\\ \\ 슬레이브 장치를 나열한 리스트로 최대 32개까지 정의할 수 있습니다.\\ \\
-6. //mode// \\ +\\ 
 +13. //mode// \\ 
 RS485 네트워크에서 어떤 모드로 동작할지 결정하는 flag입니다 .\\ RS485 네트워크에서 어떤 모드로 동작할지 결정하는 flag입니다 .\\
 <WRAP group 50%> <WRAP group 50%>
줄 820: 줄 899:
 |3  |Standalone ​ | |3  |Standalone ​ |
 </​WRAP>​ </​WRAP>​
-7. //​numOfChannels//​ \\ +14. //​numOfChannels//​ \\ 
 RS485 채널의 개수입니다.\\ \\  RS485 채널의 개수입니다.\\ \\ 
-8. //​reserved//​ \\ +15. //​reserved//​ \\ 
 예약된 공간입니다.\\ \\  예약된 공간입니다.\\ \\ 
-9. //​reserved1//​ \\ +16. //​intelligentInfo//​ \\  
 +''​[+V2.8]''​ Intelligent Slave 기능을 설정하며,​ mode가 default(Standalone)인 경우에만 동작됩니다. \\ 
 +이 설정을 이용하면 슈프리마 기기가 타사 컨트롤러와 연결된 환경에서 OSDP로 인증 결과를 출력시켜 줍니다. ​ \\ \\ 
 +17. //​reserved1//​ \\ 
 예약된 공간입니다.\\ \\ 예약된 공간입니다.\\ \\
-10. //​channels//​ \\ +18. //​channels//​ \\ 
 RS485 채널을 나열한 리스트로 최대 4개까지 설정할 수 있습니다.\\ \\  RS485 채널을 나열한 리스트로 최대 4개까지 설정할 수 있습니다.\\ \\ 
  
줄 1625: 줄 1707:
 |1  |옥외 ​ | |1  |옥외 ​ |
 |2  |자동 ​ | |2  |자동 ​ |
-|3  |사용 안함 ​(''​FaceStation F2 Only''​ |+|3  |[+V2.8] ​사용 안함 ''​(FaceStation F2)'' ​ |
 </​WRAP>​ </​WRAP>​
 3. //​enrollThreshold//​ \\  3. //​enrollThreshold//​ \\ 
줄 1706: 줄 1788:
 maxRotation은 이경우의 최대 허용치를 나타내며,​ 기본값은 15도 입니다. \\ \\ maxRotation은 이경우의 최대 허용치를 나타내며,​ 기본값은 15도 입니다. \\ \\
 12. //​faceWidth//​ \\  12. //​faceWidth//​ \\ 
-[+ V2.7.1] ''​FaceStation F2''​ 얼굴 이미지의 폭을 나타내며,​ 폭의 최소값, 최대값을 지정할 수 있습니다. \\ +[+ V2.7.1] ''​FaceStation F2''​ 얼굴 이미지의 폭을 나타내며,​ 폭의 최소값, 최대값을 지정할 수 있습니다. \\  
-최소값, 최대값은 ​각각 66과 250를 ​기본값으로 갖습니다. \\ \\+최소값, 최대값은 ​아래의 값을 ​기본값으로 갖습니다. \\ 
 +<WRAP group 20%> 
 +^  ^기본값 ​ ^ 
 +|min  |66  | 
 +|max  |250  | 
 +</​WRAP> ​
 13. //​searchRange//​ \\ 13. //​searchRange//​ \\
-[+ V2.7.1] ''​FaceStation F2''​ 얼굴 검색 범위를 나타내며,​ 범위의 x값(가로 좌표)과 x값 지점으로부터의 폭을 지정할 수 있습니다. \\ +[+ V2.7.1] ''​FaceStation F2''​ 얼굴 검색 범위를 나타내며,​ 범위의 x값(가로 좌표)과 x값 지점으로부터의 폭을 지정할 수 있습니다. \\  
-x값과 폭의 ​기본은 각각 144, 432를 ​기본값으로 갖습니다. \\ \\+x값과 폭은 아래의 값을 기본값으로 갖습니다. \\ 
 +<WRAP group 20%> 
 +^  ^기본값 ​ ^ 
 +|x  |144  | 
 +|width ​ |432  | 
 +</​WRAP> ​
 14. //​reserved2//​ \\  14. //​reserved2//​ \\ 
 예약된 공간입니다.\\ \\ 예약된 공간입니다.\\ \\
줄 2297: 줄 2389:
 실제 체온측정값과,​ 카메라를 통한 체온측정은 약간의 차이가 존재할 수 있으며, 이곳에 값을 설정하여,​ 그 차이를 보정할 수 있습니다. \\ 실제 체온측정값과,​ 카메라를 통한 체온측정은 약간의 차이가 존재할 수 있으며, 이곳에 값을 설정하여,​ 그 차이를 보정할 수 있습니다. \\
 설정할 온도의 10을 곱한 값으로 입력하여야하며,​ 최소 -50에서 최대 50 사이의 값을 지정할 수 있습니다. \\ \\ 설정할 온도의 10을 곱한 값으로 입력하여야하며,​ 최소 -50에서 최대 50 사이의 값을 지정할 수 있습니다. \\ \\
 +
 +==== BS2BarcodeConfig ====
 +<code cpp>
 +typedef struct {
 +    uint8_t useBarcode;
 +    uint8_t scanTimeout;​
 +    uint8_t bypassData;
 +    uint8_t treatAsCSN;
 +
 +    uint8_t reserved[12];​
 +} BS2BarcodeConfig;​
 +</​code>​
 +1. //​useBarcode//​ \\ 
 +Barcode 사용여부 flag입니다. \\ \\ 
 +2. //​scanTimeout//​ \\ 
 +Barcode scan 시간을 설정합니다. 단위는 초입니다. \\
 +기본값은 4초이며, 4~10초 범위 내로 입력 가능합니다. \\ \\
 +3. //​bypassData//​ \\ 
 +[+2.8.2] 읽혀진 barcode 정보를 장치에서 처리하지 않고, 서버로 전송하기 위해 사용합니다. \\
 +사용자 인증을 위해 사용자 정보 구조체에 barcode 값을 저장하게되는 경우, \\
 +32 byte의 크기 제약([[smartcard_api#​BS2CSNCard|BS2CSNCard data 참조]])이 있으나, \\
 +[[BS2_SetBarcodeScanListener]]를 호출하고,​ 이 옵션을 사용하면 최대 512 byte크기의 barcode를 서버로 전송할 수 있습니다. \\ \\
 +4. //​treatAsCSN//​ \\
 +[+2.8.2] Barcode를 일반 CSN 카드와 동일하게 처리할지의 여부를 나타냅니다. \\
 +XS2-QR 1.1.3부터 적용되며,​ false의 경우, 이전과 동일하게 처리됩니다. \\
 +이방식은 barcode로 처리될 수 있는 문자셋을 ASCII code 32에서 126까지 자유롭게 지정할 수 있습니다. ([[qr_code_api#​BS2_WriteQRCode|BS2_WriteQRCode의 설명 참조]]) \\
 +true로 설정하면,​ barcode를 기존 CSN과 동일하게 숫자로만 취급하게 됩니다. \\
 +따라서, 특수문자,​ 영문자가 들어있는 barcode 카드 데이터를 설정하고자 하면 오류를 반환할 수 있습니다. \\
 +이 경우, card type만 다르게, CSN 카드와 barcode 데이터를 동일한 값으로 사용하고자하는 사용자의 목적에 부합할 수 있습니다. \\ \\
 +5. //​reserved//​ \\ 
 +예약된 공간입니다. \\
 +
 +==== BS2InputConfigEx ====
 +<code cpp>
 +typedef struct {
 +    uint8_t ​   numInputs;
 +    uint8_t ​   numSupervised;​
 +    uint8_t ​   reserved[18];​
 +
 +    struct {
 +        uint8_t ​   portIndex;
 +        uint8_t ​   switchType;
 +        uint16_t ​  ​duration;​
 +    ​
 +        uint8_t ​   reserved;
 +        uint8_t ​   supervisedResistor;​
 +        uint8_t ​   reserved1[16];​
 +    ​
 +        uint8_t ​   reserved2[26];​
 +    } inputs[BS2_MAX_INPUT_NUM_EX];​
 +
 +    uint8_t ​   reserved2[200];​
 +} BS2InputConfigEx;​
 +</​code>​
 +1. //​numInputs//​ \\ 
 +Input 포트의 개수입니다. \\ \\
 +2. //​numSupervised//​ \\
 +supervised input 포트의 개수입니다. \\ \\
 +3. //​reserved//​ \\
 +예약된 공간입니다. \\ \\
 +4. //​portIndex//​ \\ 
 +Input 포트 번호입니다. \\ \\
 +5. //​switchType//​ \\
 +Input 신호 유형입니다. \\ 
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |Normally Open  |
 +|1  |Normally Closed ​ |
 +</​WRAP> ​
 +6. //​duration//​ \\ 
 +Input 신호의 지속시간으로 단위는 밀리초(ms)입니다. \\ \\
 +7. //​reserved//​ \\
 +예약된 공간입니다. \\ \\
 +8. //​supervisedResistor//​ \\
 +Supervised input 저항 값의 유형을 설정하거나,​ 해제할 수(unsupervised) 있습니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|0  |1K 저항 ​ |
 +|1  |2.2K 저항 ​ |
 +|2  |4.7K 저항 ​ |
 +|3  |10K 저항 ​ |
 +|254  |Unsupervised(기본값) ​ |
 +</​WRAP> ​
 +9. //​reserved1//​ \\
 +예약된 공간입니다. \\ \\
 +10. //​reserved2//​ \\
 +예약된 공간입니다. \\ \\
 +11. //​reserved2//​ \\
 +예약된 공간입니다. \\ \\
 +
 +
 +==== BS2RelayActionConfig ====
 +<code cpp>
 +typedef struct {
 +    uint32_t ​       deviceID;​ ///<​ 4 bytes
 +    uint8_t ​        ​reserved[16];​ ///<​ 16 bytes
 +
 +    struct {
 +        uint8_t ​    ​port;​ ///<​ 1 byte (relay port)
 +        uint8_t ​    ​reserved0;​ ///<​ 1 byte
 +        uint8_t ​    ​disconnEnabled;​ ///<​ 1 byte (RS485 disconnection)
 +        uint8_t ​    ​reserved[9];​ ///<​ 9 bytes
 +        ​
 +        struct {
 +            uint8_t port;​ ///<​ 1 byte (input port)
 +            uint8_t type;​ ///<​ 1 byte (linkage/​latching/​release)
 +            uint8_t mask;​ ///<​ 1 byte (alarm/​fault)
 +            uint8_t reserved[9];​ ///<​ 9 bytes
 +        } input[BS2_MAX_RELAY_ACTION_INPUT];​ ///<​ 192 bytes
 +    } relay[BS2_MAX_RELAY_ACTION];​ ///< 816 bytes
 +
 +    uint8_t reserved2[152];​ ///<​ 152 bytes
 +} BS2RelayActionConfig;​
 +</​code>​
 +1. //​deviceID//​ \\ 
 +장치 식별번호 입니다. \\ \\
 +2. //​reserved//​ \\
 +예약된 공간입니다. \\ \\
 +3. //relay// \\
 +Relay에 대한 설정 정보입니다. \\ \\
 +4. //port// \\ 
 +Relay port 번호입니다. \\ \\
 +5. //​reserved0//​ \\
 +예약된 공간입니다. \\ \\
 +6. //​disconnEnabled//​ \\ 
 +true로 설정하면,​ RS485 연결이 끊겼을때 신호를 발생시키게 됩니다. \\ \\
 +7. //​reserved//​ \\
 +예약된 공간입니다. \\ \\
 +8. //input// \\
 +해당 relay port가 어떤 input port들에 대해서 동작할지 정의합니다. \\ \\
 +9. //port// \\
 +Input port 식별번호 입니다. \\ \\
 +10. //type// \\
 +해당 input을 어떤 형태의 input으로 동작시킬 것인지 정의합니다. \\
 +Linkage로 설정 시 mask로 alarm이 설정되어야 신호가 전달됩니다. \\
 +<WRAP group 50%>
 +^type  ^값  ^설명 ​ ^
 +|NONE  |0  |사용안함 ​ |
 +|LINKAGE ​ |1  |해당 input에 대한 relay로의 연결 ​ |
 +|LATCHING ​ |2  |''​미지원'' ​ |
 +|RELEASE ​ |3  |''​미지원'' ​ |
 +</​WRAP> ​
 +11. //mask// \\
 +Input 신호정보들에 대해 mask를 설정합니다. \\
 +<WRAP group 50%>
 +^type  ^값  ^설명 ​ ^
 +|NONE  |0  |사용안함 ​ |
 +|ALARM ​ |1  |신호 발생 ​ |
 +|FAULT ​ |2  |단선/​단락의 경우 신호 발생 ​ |
 +</​WRAP> ​
 +12. //​reserved//​ \\
 +예약된 공간입니다. \\ \\
 +13. //​reserved2//​ \\
 +예약된 공간입니다. \\ \\
 +
 +
 +==== BS2VoipConfigExt ====
 +<code cpp>
 +typedef struct {
 +    BS2_USER_ID phoneNumber;​
 +    char description[48 * 3];
 +
 +    uint8_t reserved[32];​
 +} BS2ExtensionNumber;​
 +
 +typedef struct {
 +    BS2_BOOL enabled;
 +    BS2_BOOL useOutboundProxy;​
 +    uint16_t registrationDuration;​
 +
 +    BS2_URL address;
 +    BS2_PORT port;
 +
 +    struct {
 +        uint8_t speaker;​ //​ 0 ~ 100
 +        uint8_t mic; // 0 ~ 100
 +    } volume;​ ///<​ 2 bytes
 +
 +    BS2_USER_ID id;
 +    BS2_USER_ID password;
 +    BS2_USER_ID authorizationCode;​
 +
 +    struct {
 +        BS2_URL address;
 +        BS2_PORT port;
 +        uint8_t reserved[2];​
 +    } outboundProxy;​
 +
 +    uint8_t exitButton; ​           /// *, #, 0~9
 +    uint8_t reserved1;
 +    uint8_t numPhoneBook;​
 +    BS2_BOOL showExtensionNumber;​
 +
 +    BS2ExtensionNumber phonebook[128];​
 +
 +    uint8_t reserved2[32]; ​       ///< 32 bytes (reserved)
 +} BS2VoipConfigExt;​
 +</​code>​
 +1. //​phoneNumber//​ \\ 
 +내선 번호입니다. \\ \\
 +2. //​description//​ \\
 +표시 정보입니다. \\ \\
 +3. //​reserved//​ \\
 +예약된 공간입니다. \\ \\
 +4. //enabled// \\
 +VoIP extension 기능을 사용할 것인지 여부를 설정합니다. \\ \\
 +5. //​useOutboundProxy//​ \\ 
 +Outbound 프록시 서버를 구성할 것인지 여부를 설정합니다. \\ \\
 +6. //​registrationDuration//​ \\
 +SIP 서버에 관련 정보를 업데이트 시키는 주기입니다. \\
 +초단위로 설정하며,​ 60~600 범위의 값으로 지정하여야 합니다. \\ \\
 +7. //address// \\ 
 +SIP 서버(일반적으로 BioStar)의 IP 주소를 입력합니다. \\ \\
 +8. //port// \\
 +SIP 서버 포트를 입력합니다. 기본 포트는 5060번입니다. \\ \\
 +9. //speaker// \\
 +인터폰의 스피커 음량 정보를 0에서 100까지 범위로 입력합니다. 기본 값은 50입니다. \\ \\
 +10. //mic// \\
 +인터폰의 마이크 음량 정보를 0에서 100까지 범위로 입력합니다. 기본 값은 50입니다. \\ \\
 +11. //id// \\
 +SIP 서버에 연결하는 ID를 입력합니다. \\
 +12. //​password//​ \\
 +SIP 서버에 연결하는 비밀번호를 지정합니다. \\ \\
 +13. //​authorizationCode//​ \\
 +SIP 서버에 연결에 필요한 인증코드 값입니다. \\ \\
 +14. //​outboundProxy//​ \\
 +Outbound 프록시 서버 정보를 입력합니다. \\ \\
 +15. //address// \\ 
 +Outbound 프록시 서버의 IP 주소를 입력합니다. \\ \\
 +16. //port// \\
 +Outbound 프록시 서버 포트를 입력합니다. \\ \\
 +17. //​reserved//​ \\
 +예약된 공간입니다. \\ \\
 +18. //​exitButton//​ \\
 +퇴실버튼으로 사용할 버튼 기호입니다. \\
 +<WRAP group 50%>
 +^값  ^설명 ​ ^
 +|*  |'​*'​ ASCII code 42  |
 +|#  |'#'​ ASCII code 35  |
 +|0~9  |'​0'​~'​9'​ ASCII code (48~57) ​ |
 +</​WRAP> ​
 +19. //​reserved1//​ \\
 +예약된 공간입니다. \\ \\
 +20. //​numPhoneBook//​ \\
 +전화번호부 갯수입니다. \\ \\
 +21. //​showExtensionNumber//​ \\
 +전화번호부를 보여줄지 여부를 결정합니다. \\ \\
 +22. //​phonebook//​ \\
 +128개까지 내선 번호들을 전화번호부로 지정할 수 있습니다. \\ \\
 +23. //​reserved2//​ \\
 +예약된 공간입니다. \\ \\
 +
 +
 +==== BS2RtspConfig ====
 +<code cpp>
 +typedef struct {
 +    BS2_USER_ID id;
 +    BS2_USER_ID password;
 +
 +    BS2_URL address;
 +
 +    BS2_PORT port;
 +    BS2_BOOL enabled;
 +    uint8_t reserved;
 +
 +    uint8_t reserved2[32];​
 +} BS2RtspConfig;​
 +</​code>​
 +1. //id// \\
 +RTSP 서버 연결시, 계정 정보입니다. \\ \\
 +2. //​password//​ \\
 +RTSP 서버 연결시, 비밀번호입니다. \\ \\
 +3. //address// \\ 
 +RTSP 서버의 주소를 입력합니다. \\ \\
 +4. //port// \\
 +RTSP 서버 연결 포트를 입력합니다. 기본 포트는 554입니다. \\ \\
 +5. //enabled// \\
 +RTSP 연결을 사용할 것인지 여부를 설정합니다. \\ \\
 +6. //​reserved//​ \\
 +예약된 공간입니다. \\ \\
 +7. //​reserved2//​ \\
 +예약된 공간입니다. \\ \\