beaweblogic network gatekeeper - oracle · send us e-mail at [email protected] if you have...
TRANSCRIPT
BEAWebLogic Network Gatekeeper®
Developer notes for legacy applications
Version 2.2 Document Revised: May 15, 2006
CopyrightCopyright © 1995-2006 BEA Systems, Inc. All Rights Reserved.
Restricted Rights LegendThis software is protected by copyright, and may be protected by patent laws. No copying or other use of this software is permitted unless you have entered into a license agreement with BEA authorizing such use. This document is protected by copyright and may not be copied photocopied, reproduced, translated, or reduced to any electronic medium or machine readable form, in whole or in part, without prior consent, in writing, from BEA Systems, Inc.
Information in this document is subject to change without notice and does not represent a commitment on the part of BEA Systems. THE DOCUMENTATION IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. FURTHER, BEA SYSTEMS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY REPRESENTATIONS REGARDING THE USE, OR THE RESULTS OF THE USE, OF THE DOCUMENT IN TERMS OF CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE.
Trademarks and Service MarksCopyright © 1995-2006 BEA Systems, Inc. All Rights Reserved. BEA, BEA JRockit, BEA WebLogic Portal, BEA WebLogic Server, BEA WebLogic Workshop, Built on BEA, Jolt, JoltBeans, SteelThread, Top End, Tuxedo, and WebLogic are registered trademarks of BEA Systems, Inc. BEA AquaLogic, BEA AquaLogic Data Services Platform, BEA AquaLogic Enterprise Security, BEA AquaLogic Interaction, BEA AquaLogic Interaction Analytics, BEA AquaLogic Interaction Collaboration, BEA AquaLogic Interaction Content Services, BEA AquaLogic Interaction Data Services, BEA AquaLogic Interaction Integration Services, BEA AquaLogic Interaction Process, BEA AquaLogic Interaction Publisher, BEA AquaLogic Interaction Studio, BEA AquaLogic Service Bus, BEA AquaLogic Service Registry, BEA Builder, BEA Campaign Manager for WebLogic, BEA eLink, BEA Kodo, BEA Liquid Data for WebLogic, BEA Manager, BEA MessageQ, BEA SALT, BEA Service Architecture Leveraging Tuxedo, BEA WebLogic Commerce Server, BEA WebLogic Communications Platform, BEA WebLogic Enterprise, BEA WebLogic Enterprise Platform, BEA WebLogic Enterprise Security, BEA WebLogic Express, BEA WebLogic Integration, BEA WebLogic Java Adapter for Mainframe, BEA WebLogic JDriver, BEA WebLogic Log Central, BEA WebLogic Mobility Server, BEA WebLogic Network Gatekeeper, BEA WebLogic Personalization Server, BEA WebLogic Personal Messaging API, BEA WebLogic Platform, BEA WebLogic Portlets for Groupware Integration, BEA WebLogic Real Time, BEA WebLogic RFID Compliance Express, BEA WebLogic RFID Edge Server, BEA WebLogic RFID Enterprise Server, BEA WebLogic Server Process Edition, BEA WebLogic SIP Server, BEA WebLogic WorkGroup Edition, BEA Workshop for WebLogic Platform, BEA Workshop JSP, BEA Workshop JSP Editor, BEA Workshop Struts, BEA Workshop Studio, Dev2Dev, Liquid Computing, and Think Liquid are trademarks of BEA Systems, Inc. Accelerated Knowledge Transfer, AKT, BEA Mission Critical Support, BEA Mission Critical Support Continuum, and BEA SOA Self Assessment are service marks of BEA Systems, Inc.
All other names and marks are property of their respective owners.
Developer notes for legacy interfaces i
Contents:
1. MM7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Notes on MM7 version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Supported operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Status codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
PAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Notes on PAP version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Supported operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
SMPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Notes on SMPP version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Overview of supported SMMPP operations and response command statuses . . . . . . 1-5
Client Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Client Responses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
Server Requests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
Server Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
ii Developer notes for legacy interfaces
Developer notes for legacy interfaces iii
About This Document:
This document explains which operations that are supported in the northbound MM7, PAP, and SMPP interfaces exposed by Network Gatekeeper.
This document covers the following topics:
Chapter 1, “Operations supported in the legacy interfaces.” describes protocol version and operations for hte following northbound interfaces.
– MM7
– PAP
– SMPP
What You Need to KnowThis document is intended for new or existing BEA partners who want to distribute products that include or interoperate with WebLogic Platform.
Product Documentation on the dev2dev Web SiteBEA product documentation, along with other information about BEA software, is available from the BEA dev2dev Web site:http://dev2dev.bea.com
To view the documentation for a particular product, select that product from the list on the dev2dev page; the home page for the specified product is displayed. From the menu on the left
About Th is Document :
iv Developer notes for legacy interfaces
side of the screen, select Documentation for the appropriate release. The home page for the complete documentation set for the product and release you have selected is displayed.
Related InformationReaders of this document may find the following documentation and resources especially useful:
For helpful information about programming with the Studio client, see the following books in the WebLogic Network Gatekkeeper document set:
– BEA WebLogic Network Gatekeeper System Administrator’s Guide
MM7 specification at http://www.3gpp.org/ftp/Specs/html-info/23140.htm
PAP specificaiton at http://www.wapforum.org/what/technical.htm
SMPP Specification at http://www.smsforum.net
Contact Us!Your feedback on the BEA WebLogic Network Gatekeeper documentation is important to us. Send us e-mail at [email protected] if you have questions or comments. Your comments will be reviewed directly by the BEA professionals who create and update the WebLogic Network Gatekeeper documentation.
In your e-mail message, please indicate that you are using the documentation for BEA WebLogic Network Gatekeeper 2.1.
If you have any questions about this version of BEA WebLogic Network Gatekeeper, or if you have problems installing and running BEA WebLogic Network Gatekeeper, contact BEA Customer Support at http://support.bea.com. You can also contact Customer Support by using the contact information provided on the quick reference sheet titled “BEA Customer Support,” which is included in the product package.
When contacting Customer Support, be prepared to provide the following information:
Your name, e-mail address, phone number, and fax number
Your company name and company address
Your machine type and authorization codes
The name and version of the product you are using
A description of the problem and the content of pertinent error messages
Documentat ion Convent i ons
Developer notes for legacy interfaces v
Documentation ConventionsThe following documentation conventions are used throughout this document.
Table 0-1
Convention Item
Ctrl+Tab Indicates that you must press two or more keys simultaneously.
italics Indicates emphasis or book titles.
monospace text
Indicates user input, as shown in the following examples:• Filenames: config.xml• Pathnames: BEAHOME/config/examples• Commands: java -Dbea.home=BEA_HOME• Code: public TextMsg createTextMsg(
Indicates computer output, such as error messages, as shown in the following example:Exception occurred during event dispatching:java.lang.ArrayIndexOutOfBoundsException: No such child: 0
monospace boldface text
Identifies significant words in code.
Example:void commit ( )
monospace italic text
Identifies variables in code.
Example:String expr
{ } Indicates a set of choices in a syntax line. The braces themselves should never be typed.
[ ] Indicates optional items in a syntax line. The brackets themselves should never be typed.
Example: java utils.MulticastTest -n name [-p portnumber]
| Separates mutually exclusive choices in a syntax line. The symbol itself should never be typed.
Example: java weblogic.deploy [list|deploy|update]
About Th is Document :
vi Developer notes for legacy interfaces
... Indicates one of the following in a command line: • That an argument can be repeated several times in a command line• That the statement omits additional optional arguments• That you can enter additional parameters, values, or other information
The ellipsis itself should never be typed.
Example:buildobjclient [-v] [-o name] [-f "file1.cpp file2.cpp file3.cpp . . ."
.
.
.
Indicates the omission of items from a code example or from a syntax line. The vertical ellipsis itself should never be typed.
Table 0-1
Convention Item
Developer notes for legacy interfaces 1-1
C H A P T E R 1
Operations supported in the legacy interfaces
The following sections describe which operations are supported and which are not supported for the legacy interfaces:
“MM7” on page 1-1
“PAP” on page 1-4
“SMPP” on page 1-5
MM7
Notes on MM7 versionThe Legacy implementation supports standard MM7 R5 v5.3.0.
Messages are compliant with XSD schemas defined with namespace:
http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2
See also 3GPP specification: http://www.3gpp.org/ftp/Specs/html-info/23140.htm
Supported operationsWebLogic Network Gatekeeper supports the MM7 operations listed in Table 1-1.
1-2 Developer notes for legacy interfaces
Table 1-1 Supported MM7 messages
The Network Gatekeeper does not support the MM7 operations listed in Table 1-2
Table 1-2 Non-supported MM7 messages
Method Compliant Comments
MM7_submit.REQ Y Element LinkedID is ignored.
Element Recipients (To, Cc, Bcc) are treated as To addresses.
Element DeliveryReport is ignored. Delivery reports sent to the URL configured using the Management Tool.
Element ReadReply is ignored.
MM7_submit.RES Y
MM7_deliver.REQ Y Element LinkedID is not used.
Element Sender is always of type <Number>.
MM7_deliver.RES Y
MM7_deliveryReport.REQ Y
MM7_deliveryReport.RES Y
Method Compliant Comments
MM7_readReply.REQ N
MM7_readReply.RES N
MM7_cancel.REQ N
MM7_cancel.RES N
MM7_replace.REQ N
MM7_replace.RES N
MM7
Developer notes for legacy interfaces 1-3
ResponsesFor all requests but the MM7_submit.REQ the response will be RSErrorRSP with status code 4003 (Unsupported operation).
Status codesThe following status codes can be returned to an application.
Table 1-3 MM7 status codes
Status code Possible reason
1000 Message was submitted successfully
1100 The message failed to be submitted to one or all of the destination addresses.
2002 At least one of the addresses was not formatted correctly.
2007 There was a failure to parse or traverse the request or it is not a multimedia message.
3000 An error independent of the parameters of the request occurred when submitting the message.
4000 A general error dependent of the parameters of the request occurred when submitting the message.
4001 Parameter VASPID or VASID is missing in a submit request or does not match that of an existing account.
4004 Other error related to the account or associated mailbox was encountered when submitting the message.
4005 A message submitting specific error dependent of the parameters of the request occurred when submitting the message.
4007 The account used to submit the message has insufficient privileges or the associated mailbox of the account has been locked.
1-4 Developer notes for legacy interfaces
PAP
Notes on PAP versionThe PAP implementation supports version 2.0 of the PAP protocol.
UTF-8 character encoding is supported for the PAP XML documents.
Supported operationsWebLogic Network Gatekeeper supports the PAP messages listed in Table 1-4.
Table 1-4 Supported PAP operations
Network Gatekeeper does not support the PAP operations listed in Table 1-5
Table 1-5 Non-supported PAP operations
Operation Compliant Comments
push-message Yes
push-response Yes
resultnotification-message Yes
resultnotification-response Yes
badmessage-response Yes
Operation Compliant Comments
cancel-message No
cancel-response No
statusquery-message No
statusquery-response No
ccq-message No
ccq-response No
SMPP
Developer notes for legacy interfaces 1-5
SMPP
Notes on SMPP versionThe SMPP implementation supports version 3.4 of the SMPP protocol.
Overview of supported SMMPP operations and response command statusesWebLogic Network Gatekeeper supports the SMPP operations:
BIND_TRANSMITTER
BIND_RECEIVER
BIND_TRANCEIVER
UNBIND
SUBMIT_SM
SUBMIT_MULTI
QUERY_SM
DELIVER_SM
GENERIC_NACK
ENQUIRE_LINK
The following command status codes may be sent in a response for any client originating PDU.
1-6 Developer notes for legacy interfaces
Table 1-6 SMPP response statuses
Client RequestsThe following client requests are supported, partially or fully:
Table 1-7 Supported SMPP operations
The SMPP server implementation accepts requests with sequence numbers between 0 (zero) and 0x7FFFFFFF.
Command status Possible reason
ESME_RINVCMDID A request with a command ID unknown to v3.4 of the SMPP specification is sent. The command status is sent in a GENERIC_NACK response PDU
ESME_RUNKNOWNER Two possible reasons:• The PDU could not be parsed completely or some other PDU parsing
related error occurred. If a request was partially parsed the command status is sent in response corresponding to that of the request, otherwise the command status is sent in a GENERIC_NACK response PDU.
• The sequence number is not between 0 (zero) and 0x7FFFFFFF.
Method Compliant Comments
BIND_TRANSMITTER Y
BIND_RECEIVER Y
BIND_TRANCEIVER Y
UNBIND Y
SUBMIT_SM Y
SUBMIT_MULTI Y
QUERY_SM Y
ENQUIRE_LINK Y
SMPP
Developer notes for legacy interfaces 1-7
Response command status codes from client requestsThe following command status codes may be sent in a response for any client originating request
Table 1-8 SMPP response status codes from client requests
BIND_TRANSMITTER/RECEIVER/TRANSCEIVER requestsThe PDU fields for BIND_TRANSMITTER/RECEIVER/TRANSCEIVER requests must adhere to Table 1-9.
Table 1-9 PDU fields
Command status Possible reason
ESME_RSUSPENDED The SMPP server is temporarily suspended and does not accept requests.
Specific for Network Gatekeeper.
ESME_RUNKNOWNERR
An invalid PDU or command_status in the request is not NULL.
ESME_RINVBNDSTS The client is not yet bound but the request is not a BIND.
ESME_RINVCMDID The command_id field of the request is not one of those supported by this SMPP server implementation. The command status is sent in a response corresponding to the request.
PDU field Comment
system_id Must be set to non-NULL value.
password Must be set to non-NULL value.
system_type Ignored.
interface_version Ignored (assumed to be 34 or later).
addr_ton Ignored.
addr_npi Ignored.
address_range Ignored.
1-8 Developer notes for legacy interfaces
The command statuses in Table 1-10 may be sent in a response for a bind request
Table 1-10 Response status codes for BIND_TRANSMITTER/RECEIVER/TRANSCEIVER requests
SUBMIT_SM and SUBMIT_MULTI requestsThe PDU fields for SUBMIT_SM and SUBMIT_MULTI requests must adhere to Table 1-11.
Table 1-11 PDU fields
Command status Possible reason
ESME_RALYBND The client is already bound.
ESME_RINVSYSID The system_id field is NULL.
ESME_RINVPASWD The password field is NULL.
ESME_RBINDFAIL The bind operation failed, either because the system ID was not recognized at all or because the password did not match that of the specified system ID.
ESME_RSYSERR The operation failed because of a server side runtime error.
PDU field Comment
service_type Sent transparently through Network Gatekeeper.
source_addr_ton Must be set to either Unknown or International. The TON of any specified source address will be treated as International.
source_addr_npi Must be set to either Unknown or E164. The NPI of any specified source address will be treated as E164.
source_addr Fully supported.
dest_addr_ton Must be set to either Unknown or International. The TON of any specified destination address will be treated as International.
dest_addr_npi Must be set to either Unknown or E164. The NPI of any specified destination address will be treated as E164.
destination_addr Fully supported.
dest_flag Must be set to 1 (one) - distribution lists are not supported.
SMPP
Developer notes for legacy interfaces 1-9
dl_name Ignored.
esm_class Must have a bit sequence of one of the following {00,01}0000{00,11}. That is:• Either No Specific GSM Features Selected or UDHI Indicator• Always Default Message Type.• Either Default SMSC Mode or explicitly Store and Forward Mode.
protocol_id Sent transparently through Network Gatekeeper.
priority_flag Partially supported.
Priority 0 and 1 will be priority 0.
Priority 2 and 3will be priority 3.
schedule_delivery_time Supported.
validity_period Supported.
registered_delivery Must have a bit sequence of one of the following {0,1}{0,1}{0,1}000{00,01,10}.
That is:• Always No Intermediate Notification Requested.• Always No Recipient SME Acknowledgment requested.• Any SMSC Delivery Receipt Requested.
replace_if_present Sent transparently through Network Gatekeeper.
data_coding Fully supported.
sm_default_msg_id Must be set to NULL.
sm_length Always re-set to the actual length of the short_message field.
PDU field Comment
1-10 Developer notes for legacy interfaces
If the esm_class field of any SUBMIT request has a bit sequence of one of the following 010000{00,11}, that is, the UDHI Indicator is set, none of the following optional parameters can be set to non-NULL value:
sar_msg_ref_num
sar_total_segments
sar_segment_seqnum
source_port
destination_port
The response command statuses in Table 1-12 may be sent in a response to SUBMIT_SM and SUBMIT_MULTI requests.
Table 1-12 Response status codes for SUBMIT_SM and SUBMIT_MULTI requests
short_message Fully supported.
message_payload Must be set to a non-NULL value if the short_message field is not set or set to a NULL value.
Must not be set or must be set to a NULL value if the short_message field is set to a non-NULL value.
UDH and message data is parsed from payload and sent through Network Gatekeeper.
PDU field Comment
Command status Possible reason
ESME_RINVBNDSTS The client is bound but not as transmitter or transceiver.
ESME_RINVSERTYP Not used.
ESME_RINVSRCTON The source_addr_ton field is neither Unknown nor International.
ESME_RINVSRCNPI The source_addr_npi field is neither Unknown nor E164.
SMPP
Developer notes for legacy interfaces 1-11
ESME_RINVESMCLASS • The Messaging Mode of the GSM ESM class is neither Default SMSC Mode nor Store and Forward.
• The Message Type of the GSM ESM class is not Default Message Type.
• The Network Specific Features of the GSM ESM class is neither No Feature Selected nor UDHI Indicator.
• The Network Specific Features of the GSM ESM class is UDHI Indicator but one of the following parameters is set anyway:sar_msg_ref_numsar_total_segmentssar_segment_seqnumsource_portdestination_port
ESME_RINVPRTFLG The priority_flag field has a value outside the range from 0 (zero) to 3 (three).
ESME_RINVSCHED The validity_period field is not formatted according to specification.
ESME_RINVEXPIRY The validity_period field is not formatted according to specification.
ESME_RINVREGDLVFLG • The SMSC Delivery Receipt of the registered_delivery field is not one of No SMSC Delivery Receipt Requested or SMSC Delivery Receipt Requested (either success or failure or failure).
• The SME Originated Acknowledgment of the registered_delivery field is not No Recipient SME Acknowledgment Requested.
• The Intermediate Notification of the registered_delivery field is not No Intermediate Notification Requested.
ESME_RUNKNOWNERR The data_coding field is one of the reserved values 0x0B, 0x0C, or 0x0F.
ESME_RINVMSGID The sm_default_message_id field is not NULL.
ESME_RINVMSGLEN • The field sm_length field is 0 (zero) but the message_payload parameter is not set.
• The sm_lengh field has a value outside the range 1 (one) to 254.• The field sm_length is valid and not 0 (zero) but the
message_payload parameter is set.
Command status Possible reason
1-12 Developer notes for legacy interfaces
QUERY_SM requestsThe PDU fields for QUERY_SM requests must adhere to Table 1-13.
Table 1-13 PDU fields
The command statuses in Table 1-14 may be sent in a response for a QUERY_SM request
ESME_RCNTSUBDL For SUBMIT_MULTI requests the dest_flag field of at least one of the destination addresses is a Distribution List.
ESME_RINVNUMDESTS For SUBMIT_MULTI requests the number of destination addresses was not in the range of 1 (one) to 254.
ESME_RINVDESTFLAG For SUBMIT_MULTI requests the dest_flag field of at least one of the destination addresses was not set to 1 (one).
ESME_RINVDSTTON The dest_addr_ton field is neither Unknown nor International.
ESME_RINVDSTNPI The dest_addr_npi field is neither Unknown nor E164.
ESME_RINVDSTADR The destination_addr field is NULL.
ESME_RMISSINGOPTPARAM
The UDH indicator is set and the UDH contained segmentation information, but that information could not be parsed completely.
ESME_RSUBMITFAIL Message submission failed for at least one of the destination addresses.
ESME_RSYSERR The operation failed because of a server side runtime error occurred.
Command status Possible reason
PDU field Comment
message_id Must represent a 64-bit decimal number base integer greater than 0 (zero).
source_addr_ton Ignored.
source_addr_npi Ignored.
source_addr Ignored.
SMPP
Developer notes for legacy interfaces 1-13
Table 1-14 Response status codes for QUERY_SM requests
Client ResponsesThe following client responses are supported, partially or fully:
GENERIC_NACK
ENQUIRE_LINK_RESP
UNBIND_RESP
DELIVER_SM_RESP
Server RequestsThe following server requests may be sent from this SMPP server implementation:
ENQUIRE_LINK
UNBIND
DELIVER_SM
The sequence number of the first server-originating request for a session of the SMPP server implementation will always be 1 (one).
Server ResponsesThe following server responses may be sent from the SMPP server implementation:
BIND_TRANSMITTER_RESP
Command status Possible reason
ESME_RINVMSGID The message_id field is either NULL, not a 64-bit integer or a negative integer or not recognized as a message id for which a corresponding SUBMIT request has been received and responded.
ESME_RQUERYFAIL The message id was recognized but the SMPP server failed to get message status for that specified message.
ESME_RSYSERR The operation failed because of a server side runtime error.
1-14 Developer notes for legacy interfaces
BIND_RECEIVER_RESP
BIND_TRANSCEIVER_RESP
UNBIND_RESP
SUBMIT_SM_RESP
SUBMIT_MULTI_RESP
QUERY_SM_RESP
ENQUIRE_LINK_RESP
GENERIC_NACK
A GENERIC_NACK response is sent in the following occasions:
A request with a command id unknown to v3.4 of the SMPP specification is sent.
An error occurs when parsing a received client response - the PDU is parsed enough to determine that it is a response and its sequence number. The sequence number of the GENERIC_NACK will be that of the response.
An error occurs when parsing a received PDU - the PDU is not parsed at all. The sequence number of the GENERIC_NACK will be 0 (zero).
If one of the requests ALERT_NOTIFICATION or OUTBIND is received for which there is no corresponding response PDU. The sequence number will be that of the request PDU.