본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] Visual Voicemail

by 돼지왕 왕돼지 2018. 3. 4.
반응형

[android] Visual Voicemail


http://source.android.com/devices/tech/config/voicemail.html

Android 6.0, Android 7.0, aosp dialer, aosp vvmclient, Callback, Carrier, carrier config api, carrier vvm server, celluar data connection, config param, core feature, destination number, dilaer 통합, disableing vvm, download, imap auth, imap server, Integrate with the VVM Client, KEY_CARRIER_VVM_PACKAGE_NAME_STRING, KEY_VVM_CELLUAR_DATA_REQUIRED_BOOLEAN, KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN, KEY_VVM_DESTINATION_NUMBER_STRING, KEY_VVM_PORT_NUMBER_INT, KEY_VVM_PREFETCH_BOOLEAN, KEY_VVM_TYPE_STRING, Mailbox, marshmellow, message list, MIME Type, mos, NOS, nougat, omtp, omtp 1.3, omtp version 1.1, phone call, plain/text, port number, prefetching voicemail, ref doc, replaced by carrier vvm, setup, sim removal, SMS, sms message, source code, source code location, spec item 2.1.3, Sync, syncing, telephony, transcript attachment format, User, user interaction, visual voicemail, visual voicemail app package name, vm 인사, voice mail, voicemail download, voicemail message, voicemail quota fetch, voicemail transcription fetch, vvm, vvm client, vvm server, vvm spec, [android] Visual Voicemail, 다운로드, 듣기, 메시지 삭제, 미확인 메시지, 비밀번호 변경, 삭제하기, 싱크, 언어 설정, 읽기


-

Android 6.0 (MOS) 부터 VVM (Visual Voice Mail) 가 Dialer 에 통합되어 나왔다.

VVM 은 user 가 voicemail 을 phone call 없이 확인할 수 있게 만든다.

User 는 message list 를 볼 수 있고, 어떤 순서로든 들을 수 있고, 원한다면 삭제도 가능하다.



-

Android 7.0 (NOS) 부터는 다음과 같은 config param 이 추가되었다.


Prefetching voicemail : KEY_VVM_PREFETCH_BOOLEAN

Celluar data connection : KEY_VVM_CELLUAR_DATA_REQUIRED_BOOLEAN

Voicmail transcription fetch

Voicemail quota fetch




VVM Client


-

Android 6.0 (MOS) 이상부터는 VVM client 가 들어가 있다.

이 녀석은 설정이 잘 되어있다면 AOSP Dialer 를 통해 Carrier VVM server 에 접속하여 voicemail message 를 수집해온다.


VVM client 는 다음과 같은 일을 한다.

    SMS message 를 관리한다.

    IMAP server 와 mailbox 를 sync 한다.

    voice mail 을 download 한다. ( user 가 골랐을 때 )

    voicemail 의 transcription 을 fetch

    voicemail quota fetch

    dialer 에 통합 (call back, 미확인 메시지 보기, 메시지 삭제)





Integrate with the VVM Client


-

Carrier 는 OMTP(Open Mobile Terminal Platform) VVM spec 을 따르는 VVM server 를 제공해야 한다.

현재의 AOSP VVM client 는 core feature 인 읽기, 삭제하기, 다운로드, 싱크, 듣기 기능을 제공하며,

비밀번호 변경, VM 인사, 언어 등은 제공하지 않는다.

현재는 OMTP version 1.1 만 제공하며 IMAP auth 에는 암호화를 제공하지 않는다.


transcription 을 제공하기 위해서는 transcript attachment format 인 MIME type plain/text 를 OMTP 1.3 spec item 2.1.3 에 맞춰 구현해야 한다.



-

VVM service 통합을 위해서는 Carrier 는 VVM client 가 사용할 다음의 파라미터들을 반드시 제공해야 한다.


    SMS 의 destination number, port number

    carrier 가 제공하는 visual voicemail app package name


위의 값들은 Carrier Config API 를 통해 제공할 수 있다.

아래 key 들이 정의되어야 한다.


KEY_VVM_DESTINATION_NUMBER_STRING

KEY_VVM_PORT_NUMBER_INT

KEY_VVM_TYPE_STRING

KEY_CARRIER_VVM_PACKAGE_NAME_STRING

KEY_VVM_PREFETCH_BOOLEAN

KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN





Implementation


-

OMTP VVM client 는 packages/services/Telephony 와 src/com/android/phone/vvm 에 구현되어 있다.



-

여러가지 설정을 통해 Setup, Syncing, Voicemail download, Disabling VVm, User interaction, SIM removal, Replaced by carrier VVM 등에 대한 대응을 해야 하며,

이에 대한 자세한 내용은 위 ref doc 을 참조하시길..




반응형

댓글