핸드폰에서 지원하는 전화번호부외에 USIM 전화번호부에 저장하는 경우에는 USIM 국제규격을 따르다보니 핸드폰에서 지원하는 내용과 다를 수가 있습니다. 한사람당 전화번호를 두개까지만 저장가능하다던지, 주소나 메모 등을 할 수 없다던지 하는 것처럼 말이죠.

전화번호의 길이에 대한 경우에도 그렇습니다. 제가 가진 S사 제품의 경우, 전화번호의 길이는 32자까지 지원되는군요. 이 정도면 전화번호 길이로서 충분하고도 남겠지요?

일반적인 사용자라면 저장되는 전화번호의 길이는 국번이나 지역번호를 포함해도 10자가 조금 넘는 정도일 겁니다. 그러나 국제전화라던지 ARS 등의 연결을 위해 pause 기능을 덧붙인다던지, 혹은 자동서비스 신청을 위한 특수 다이얼 등의 경우에는 길이가 좀 더 길 수도 있습니다.

핸드폰에 저장된 길이가 긴 전화번호를 USIM으로 옮겨보면, 별 무리없이 옮겨질겁니다. 그런데 핸드폰과는 다르게 어떤 경우가 되면 20자만 입력되게 됩니다. 그것은 핸드폰과는 상관없이 USIM에 따라 다르게 되는데, 바로 USIM에서 제공하는 저장공간 문제 때문입니다.

USIM의 전화번호는 ADN 이라고 하는 파일에 저장됩니다. ADN은 Abbreviated Dialing Number의 약자로, 짧은 전화번호라는 뜻입니다. 그리고 국제규격상으로 20자가 한계입니다. 아래는 국제규격인 ETSI 31.102 4.4.2 EFADN에서 ADN 규격에 관한 표를 발췌한 것입니다.

ETSI 31.102 4.4.2 EFADN (Abbreviated dialing numbers)


"Dialing Number/SSC String" 의 length가 10 bytes 입니다. 이것이 전화번호가 저장되는 부분인데, BCD code 방식으로 저장하므로 8 bit 단위로 저장되기 때문에 총 20개의 숫자를 저장할 수 있습니다.
저장되는 값은 아래 테이블과 같습니다.

ETSI 31.102 Table 4.4 Extended BCD coding


전화번호가 20자를 넘을 경우에 초과되는 부분에 대해서는 EXT1 (Extension1)에 저장되게 됩니다.
아래는 EXT1에 대한 규격입니다.

이번에는 Extension Data가 11 bytes이니까 22자까지 저장가능하겠지요?
그런데, 일반적으로는 핸드폰의 전화번호부에서 지원하는 길이 정도까지만 사용을 할 수도 있습니다. 그런 경우에는 42자까지 지원하지 않을 수도 있습니다.

일반적으로는 전화번호 길이가 그렇게 길지는 않기 때문에 모든 전화번호의 공간을 42자 정도로 확보해놓으면 안쓰고 낭비되는 공간이 많겠지요. 그래서 아마도 기본길이는 20자까지만 되도록 해놓고, 초과되는 부분은 별도로 저장하는 방식으로 정했나봅니다. 아무래도 규격이 정해진 예전의 경우에는 SIM 카드의 용량이 아주 적었을테니까요.

그러나 EXT1은 간혹 있을 수 있는 긴 전화번호를 위한 것이라서 ADN 만큼 저장공간이 충분하지는 않다보니, 이러한 이유로 USIM 전화번호부에 20자를 넘는 긴 전화번호를 저장하는 경우에는 한계가 있게 됩니다. 이것은 USIM 카드에 따라 다른 것이다보니, 핸드폰 A/S를 받으러 갈게 아니라 새로운 USIM 카드로 교체하는 편이 낫지 않을까 싶습니다.


부족하나마 지금까지 USIM 카드에 긴 전화번호를 저장하는 방식에 대해서 간단히 살펴보았습니다.
Posted by 찬이

댓글을 달아 주세요