Service: zimbraVoice
Namespace: "urn:zimbraVoice"
GetVoiceFeatures SOAP Command

Get Call features of a phone
Only features requested in <{call-feature}/> are returned in the response.
At least one feature has to be specified. This is because the velodrome gateway returns only partial data if features are not specifically requested. Therefore for now we do not support the "want all" (i.e. no <{call-feature}>) request.

Authorization token required true
Admin Authorization token required false

GetVoiceFeaturesRequest

    <GetVoiceFeaturesRequest> ## GetVoiceFeaturesRequest
        <storeprincipal [id="{id-of-user-in-the-backing-store}"] [name="{name-of-user-in-the-backing-store}"]
                            [accountNumber="{account-number}"] /> ## StorePrincipalSpec
        <phone name="{phone}"> ## PhoneVoiceFeaturesSpec
            List of any of: {
                <voicemailprefs> ## VoiceMailPrefsReq
                    (<pref name="{preference}" /> ## VoiceMailPrefName)*
                 </voicemailprefs>
                <anoncallrejection /> ## PhoneVoiceFeaturesSpec$AnonCallRejectionReq
                <calleridblocking /> ## PhoneVoiceFeaturesSpec$CallerIdBlockingReq
                <callforward /> ## PhoneVoiceFeaturesSpec$CallForwardReq
                <callforwardbusyline /> ## PhoneVoiceFeaturesSpec$CallForwardBusyLineReq
                <callforwardnoanswer /> ## PhoneVoiceFeaturesSpec$CallForwardNoAnswerReq
                <callwaiting /> ## PhoneVoiceFeaturesSpec$CallWaitingReq
                <selectivecallforward /> ## PhoneVoiceFeaturesSpec$SelectiveCallForwardReq
                <selectivecallacceptance /> ## PhoneVoiceFeaturesSpec$SelectiveCallAcceptanceReq
                <selectivecallrejection /> ## PhoneVoiceFeaturesSpec$SelectiveCallRejectionReq
            }
         </phone>
    </GetVoiceFeaturesRequest>

The following table describes elements and attributes you can define within a <GetVoiceFeaturesRequest> element:

XPath Required / Optional Description
/storeprincipal Optional (0 or 1) Store Principal specification
/storeprincipal@id Optional (0 or 1) Type:String
ID of user in the backing store
/storeprincipal@name Optional (0 or 1) Type:String
Name of user in the backing store
/storeprincipal@accountNumber Optional (0 or 1) Type:String
Account Number
/phone Optional (0 or 1) Phone
/phone@name Required (only 1) Type:String
Phone
/phone/voicemailprefs Optional (0 or 1)
/phone/voicemailprefs/pref Optional (0 or more) Preferences
/phone/voicemailprefs/pref@name Required (only 1) Type:String
Preference
/phone/anoncallrejection Optional (0 or 1)
/phone/calleridblocking Optional (0 or 1)
/phone/callforward Optional (0 or 1)
/phone/callforwardbusyline Optional (0 or 1)
/phone/callforwardnoanswer Optional (0 or 1)
/phone/callwaiting Optional (0 or 1)
/phone/selectivecallforward Optional (0 or 1)
/phone/selectivecallacceptance Optional (0 or 1)
/phone/selectivecallrejection Optional (0 or 1)

GetVoiceFeaturesResponse

    <GetVoiceFeaturesResponse> ## GetVoiceFeaturesResponse
        <phone name="{name}"> ## PhoneVoiceFeaturesInfo
            List of any of: {
                <voicemailprefs s="{subscribed-true|false} (true|false)" a="{active-true|false} (true|false)"> ## VoiceMailPrefsFeature
                    (<pref [name="{name}"]>{value}</pref> ## PrefInfo)*
                 </voicemailprefs>
                <anoncallrejection s="{subscribed-true|false} (true|false)" a="{active-true|false} (true|false)" /> ## AnonCallRejectionFeature
                <calleridblocking s="{subscribed-true|false} (true|false)" a="{active-true|false} (true|false)" /> ## CallerIdBlockingFeature
                <callforward [ft="{forward-to}"] s="{subscribed-true|false} (true|false)"
                                 a="{active-true|false} (true|false)" /> ## CallForwardFeature
                <callforwardbusyline [ft="{forward-to}"] s="{subscribed-true|false} (true|false)"
                                         a="{active-true|false} (true|false)" /> ## CallForwardBusyLineFeature
                <callforwardnoanswer [ft="{forward-to}"] [nr="{number-of-ring-cycles}"]
                                         s="{subscribed-true|false} (true|false)" a="{active-true|false} (true|false)" /> ## CallForwardNoAnswerFeature
                <callwaiting s="{subscribed-true|false} (true|false)" a="{active-true|false} (true|false)" /> ## CallWaitingFeature
                <selectivecallforward [ft="{forward-to}"] s="{subscribed-true|false} (true|false)"
                                          a="{active-true|false} (true|false)"> ## SelectiveCallForwardFeature
                    (<phone pn="{phone-number}" a="{phone-active} (true|false)" /> ## CallerListEntry)*
                 </selectivecallforward>
                <selectivecallacceptance s="{subscribed-true|false} (true|false)" a="{active-true|false} (true|false)"> ## SelectiveCallAcceptanceFeature
                    (<phone pn="{phone-number}" a="{phone-active} (true|false)" /> ## See /phone/selectivecallforward/phone [ ## CallerListEntry])*
                 </selectivecallacceptance>
                <selectivecallrejection s="{subscribed-true|false} (true|false)" a="{active-true|false} (true|false)"> ## SelectiveCallRejectionFeature
                    (<phone pn="{phone-number}" a="{phone-active} (true|false)" /> ## See /phone/selectivecallforward/phone [ ## CallerListEntry])*
                 </selectivecallrejection>
            }
         </phone>
    </GetVoiceFeaturesResponse>

The following table describes elements and attributes you can define within a <GetVoiceFeaturesResponse> element:

XPath Required / Optional Description
/phone Optional (0 or 1) Phone voice feature information
/phone@name Required (only 1) Type:String
Name
/phone/voicemailprefs Optional (0 or 1)
/phone/voicemailprefs@s Required (only 1) Type:true|false
Flag whether subscribed or not - "true" or "false"
/phone/voicemailprefs@a Required (only 1) Type:true|false
Flag whether active or not - "true" or "false"
/phone/voicemailprefs/pref Optional (0 or more) Type:{value}
Preferences
Description for element text content:Preference value
/phone/voicemailprefs/pref@name Optional (0 or 1) Type:String
Name
/phone/anoncallrejection Optional (0 or 1)
/phone/anoncallrejection@s Required (only 1) Type:true|false
Flag whether subscribed or not - "true" or "false"
/phone/anoncallrejection@a Required (only 1) Type:true|false
Flag whether active or not - "true" or "false"
/phone/calleridblocking Optional (0 or 1)
/phone/calleridblocking@s Required (only 1) Type:true|false
Flag whether subscribed or not - "true" or "false"
/phone/calleridblocking@a Required (only 1) Type:true|false
Flag whether active or not - "true" or "false"
/phone/callforward Optional (0 or 1)
/phone/callforward@ft Optional (0 or 1) Type:String
Telephone number to forward calls to
/phone/callforward@s Required (only 1) Type:true|false
Flag whether subscribed or not - "true" or "false"
/phone/callforward@a Required (only 1) Type:true|false
Flag whether active or not - "true" or "false"
/phone/callforwardbusyline Optional (0 or 1)
/phone/callforwardbusyline@ft Optional (0 or 1) Type:String
Telephone number to forward calls to
/phone/callforwardbusyline@s Required (only 1) Type:true|false
Flag whether subscribed or not - "true" or "false"
/phone/callforwardbusyline@a Required (only 1) Type:true|false
Flag whether active or not - "true" or "false"
/phone/callforwardnoanswer Optional (0 or 1)
/phone/callforwardnoanswer@ft Optional (0 or 1) Type:String
Telephone number to forward calls to
/phone/callforwardnoanswer@nr Optional (0 or 1) Type:String
Integer, the number of ring cycles before forwarding calls.
/phone/callforwardnoanswer@s Required (only 1) Type:true|false
Flag whether subscribed or not - "true" or "false"
/phone/callforwardnoanswer@a Required (only 1) Type:true|false
Flag whether active or not - "true" or "false"
/phone/callwaiting Optional (0 or 1)
/phone/callwaiting@s Required (only 1) Type:true|false
Flag whether subscribed or not - "true" or "false"
/phone/callwaiting@a Required (only 1) Type:true|false
Flag whether active or not - "true" or "false"
/phone/selectivecallforward Optional (0 or 1)
/phone/selectivecallforward@ft Optional (0 or 1) Type:String
Telephone number to forward calls to
/phone/selectivecallforward@s Required (only 1) Type:true|false
Flag whether subscribed or not - "true" or "false"
/phone/selectivecallforward@a Required (only 1) Type:true|false
Flag whether active or not - "true" or "false"
/phone/selectivecallforward/phone Optional (0 or more) Phones
/phone/selectivecallforward/phone@pn Required (only 1) Type:String
Caller number from which the call should be forwarded to the {forward-to} number
/phone/selectivecallforward/phone@a Required (only 1) Type:true|false
Flag whether {phone-number} is active in the list - "true" or "false"
/phone/selectivecallacceptance Optional (0 or 1)
/phone/selectivecallacceptance@s Required (only 1) Type:true|false
Flag whether subscribed or not - "true" or "false"
/phone/selectivecallacceptance@a Required (only 1) Type:true|false
Flag whether active or not - "true" or "false"
/phone/selectivecallacceptance/phone Optional (0 or more) Phones
See /phone/selectivecallforward/phone for more details.
/phone/selectivecallrejection Optional (0 or 1)
/phone/selectivecallrejection@s Required (only 1) Type:true|false
Flag whether subscribed or not - "true" or "false"
/phone/selectivecallrejection@a Required (only 1) Type:true|false
Flag whether active or not - "true" or "false"
/phone/selectivecallrejection/phone Optional (0 or more) Phones
See /phone/selectivecallforward/phone for more details.