핸드폰에서 보내는 SMS에 관한 질문.
이곳, 저곳, 미친곳까지 찾아가면서 정보를 구해봤지만 도저히 답을 낼 수가 없어서 이렇게 질문을 드립니다 ㅠㅠ
지금 해외에서 살면서 한국핸드폰을 쓰려고 발악을 하고 있습니다.
타게팅 하고 있는 모델은 S*Y사의 핸드폰 입니다.
우선 기본적인 지식을 바탕으로 핸드폰 바이너리를 요리해서 해외지원 심카드 인식까지는 넘어갔습니다.
심카드가 인식이되니 자동적으로 전화까지 되더군요!
여기까진 참 행복했습니다. (여기까지오는데 몇개월이걸린건지 흐흑 ㅠㅠ)
근데 이상하게 SMS를 보내려고 하면 전송실패가 뜨면서 보내지지가 안더군여...
이리저리 테스트 해보니 한글문자나 특수문자를 포함할경우 그러한 문제가 나온다는걸 알았습니다.
그리고 내용을 영어로만 포함하니 문제없이 보내지더군여!
여기서 감이 왔습니다, 아 인코딩의 문제인가보다!
(사실 제가 그전에 쓰던 L*사의 핸드폰은 한글로 문자가 잘 보내졌습니다)
(요즘나오는 L*사의 핸드폰은 S*Y사와 마찬가지로 한글문자가 안보내지더군요)
이거때문에 GSM관련문서를 미친듯이 뒤졌습니다.
그리고 SMS 규격문서를 읽어보고 인코딩방식에 UCS2와 IRA라는게 존재한다는것도 알게 되었습니다.
이 정보를 바탕으로 핸드폰을 컴퓨터에 연결 한 뒤 잡히는 모뎀포트를 이용하여 SMS를 보내보았습니다
(AT 커멘드를 이용하여 보냈습니다)
만약 인코딩을 IRA으로 할 경우(기본) 영어로밖에 문자가 안보내집니다. (핸드폰에서 보낼때와 마찬가지)
근데 제가 인코딩방식을 UCS2로 변경 할 경우, 한글문자가 잘 보내지는걸 확인했습니다!
다행이 핸드폰 소프트웨어에서 디코딩을 자동으로 해줘서그런지 IRA로 보내던 UCS2로 보내던
정상적으로 디스플레이가 되더군여.
이제 여기서 문제에 봉착하게됩니다.
핸드폰에서 보낼때라면 분명 인코딩 타입을 정할탠데 그 부분이 안보입니다.
제가 못찾는건지 아니면 SHOW SMS규격이 다른건지 도저히 못찾겠습니다.
핸드폰을 처음 부팅 한 뒤에 확인해보면 인코딩 타입이 IRA으로 설정되어있더군여...
핸드폰에서 SMS를 보낼때 인코딩부분만 항상 UCS2로 하게 해준다면 모든게 해결될탠데 도저히 감이 안잡힙니다.
고수님들의 조언을 간곡히 부탁드립니다 ㅠㅠ
바이너리를 편집해서
바이너리를 편집해서 락을 풀었다니 대단합니다. 한국은 SMS 규격도 달라서 140/160바이트를 제대로 활용하지도 못하고, 80/90바이트에 cp949 인코딩을 사용합니다.
---- 절취선 ----
http://blog.peremen.name
에효 왜 항상 이렇게
에효 왜 항상 이렇게 자체규격이 나오는지 이해가 안되네여 ㅠㅠ
그냥 해외에 있는거 끌어다 쓰면 이런 골치거리가 안생길탠데요 ㅠㅠ
한국핸드폰보면서 왜 80바이트인지 궁금했는데 이제야 이해가 됩니다 ㅡㅡ;;;
그나저나 문자보내는게 어플리케이션단에서 모뎀으로 쿼리를 하는건지
아니면 펌웨어단에서 쿼리를 하는건지 아직도 감을 못잡고 있습니다 ㅠㅠ
핸드폰 바이너리를
핸드폰 바이너리를 뒤적뒤적거리니 KSC5601 인코딩 테이블이 나오긴 하는군여...
근데 문자 어플리케이션이 어디에 있는지를 도저히 못찾겠습니다 ㅠㅠ
WIPI기반으로 돌아가고 있는건지 아니면 AMSS에 포함되어있는건지 감이 안잡히네여...
문자 어플리케이션을 돌려보면 자동적으로 바이트 계산이 되는걸 보면
어플리케이션을 통채로 뒤집어야할듯 싶기두 하구요...
핸드폰 펌웨어 개발하시는분이 쪼금만 조언해주신다면 해결할수 있을꺼같은데 ㅠㅠ
조언좀 해주세요!!!
댓글 달기