Priority Call Handling Configuration Reference (priority-call-config.xml)
priority-call-config.xml custom resource configures the Priority Call Handling (PCH) feature. It defines:
- Namespace Prioritization (mapping of supported PH/RPH namespaces to queueing-priority levels)
- Priority Queues (per-queue processing priority, wait time, and timeout action)
- Thresholds (status and evaluation order) and Leaky-Bucket Call-Rate partitions
- Error Response Config entries (status code/text and optional headers)
Editing priority-call-config.xml
You should never move, modify, or delete the priority-call-config.xml file during normal operations.
Oracle recommends using the Remote Console to modify priority-call-config.xml indirectly, rather than editing the file manually with a text editor. Using the Remote Console ensures that priority-call-config.xml always contains valid XML. You may need to manually view or edit priority-call-config.xml to troubleshoot problem configurations, repair corrupted files, or to roll out custom configurations to many systems when installing or upgrading Converged Application Server.
When you manually edit priority-call-config.xml, you must restart Converged Application Server instances to apply your changes.
- Open
<DOMAIN_HOME>/config/custom/priority-call-config.xmlin a text editor. - Modify the priority-call-config.xml file as necessary.
- Save and exit.
- Restart the Converged Application Server servers.
- Test the system to verify your changes.
XML Schema
The schema for priority-call-config.xml is packaged in the Converged Application Server distribution:
- JAR: wlss-descriptor-binding.jar
- Package (descriptor beans): com.bea.wcp.sip.management.descriptor.beans.*
- PriorityCallConfigBean
- PriorityNamespacePrioritizationBean
- PriorityQueueBean
- PriorityThresholdBean
- PriorityLeakyBucketCallRateThresholdBean
- PriorityErrorResponseConfigBean
Validation and bean creation are performed by the server’s descriptor framework when the custom resource is loaded.
Sample Example of priority-call-config.xml
<?xml version='1.0' encoding='UTF-8'?>
<priority-call-config xmlns="http://www.bea.com/ns/wlcp/wlss/300" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls">
<!--Namespace Prioritization-->
<!-- ********************* -->
<priority-namespace-prioritization>
<name>sip.rph.wps.0</name>
<priority-header>rph</priority-header>
<priority-namespace>wps</priority-namespace>
<priority-level>0</priority-level>
<queueing-priority>0</queueing-priority>
</priority-namespace-prioritization>
<!-- QUEUE SPECIFIC SETTINGS -->
<!-- ********************* -->
<priority-queue>
<queue-name>order-0-message-Q</queue-name>
<queue-wait-time-in-secs>32</queue-wait-time-in-secs>
<queueing-priority>0</queueing-priority>
<processing-priority>5</processing-priority>
<queue-timeout-action>wlss.priority.call.violation.queue.maximum.wait.timeout</queue-timeout-action>
</priority-queue>
<!-- THRESHOLD SETTINGS -->
<!-- ********************* -->
<priority-threshold>
<threshold-name>leaky-bucket-call-rate-threshold</threshold-name>
<enabled>false</enabled>
<evaluation-order>1</evaluation-order>
</priority-threshold>
<!-- ERROR RESPONSE SETTINGS -->
<!-- ********************* -->
<priority-error-response-config>
<error-id>wlss.threshold.violation.callrate.protection</error-id>
<status-code>503</status-code>
<status-text>Service Unavailable</status-text>
</priority-error-response-config>
</priority-call-config>XML Element Description
Namespace Prioritization
- priority-namespace-prioritization
- name: internal namespace ID (for example sip.rph.wps.0)
- priority-header: "rph" or "ph"
- priority-namespace: namespace segment (for example wps, ets, esnet, none)
- priority-level: level value (0..4 for RPH; emergency, psap-callback for PH)
- queueing-priority: integer where 0 is highest, 6 lowest, and -1 reserved for default (non-priority).
Priority Queues
- priority-queue (multiple)
- - queueing-priority: queueing-priority (0..6 for priority, -1 default)
- queue-name: human-readable label
- processing-priority: engine scheduling priority (10 highest..5 lowest)
- queue-wait-time-in-secs: per-queue expiry horizon (0 disables expiry; use with care)
- queue-timeout-action: reference to Error Response Config error ID
Thresholds
- priority-threshold
- threshold-name: “leaky-bucket-call-rate-threshold”
- evaluation-order: integer to impose evaluation ordering when multiple thresholds are introduced in future phases
- enabled: boolean
Error Response Config
- priority-error-response-config
- error-id: unique error identifier (referenced from thresholds and queue timeout actions)
- status-code: SIP status code (for example 503, 408, 417).Range is 400-699
- status-text: SIP reason phrase
- additional-header-list: optional list of “Header-Name: value” strings to include in responses (for example “Retry-After: 10”)