Easy to operate SMSC server for MNOs, MVNOs, private networks and labs using a JSON API through YateMMI web-interface. JSON API for configuration can be used to setup SS7/SMPP interfaces, configure general network settings, request delivery of SMS and others.
Request: set_smsc_node
Main product configurations for YateSMSC.
Parameters from section 'common' can be set by defining 'Extra params' in YateSMSC wizard or Network wizard from MMI.
If a parameter is missing in main 'params' it's taken from 'common', if present.
Parameters from section 'common' can be set by defining 'Extra params' in YateSMSC wizard or Network wizard from MMI.
If a parameter is missing in main 'params' it's taken from 'common', if present.
Requests
{ "request": "set_smsc_node", "node": "smsc", "params": { "my_cc": "Mandatory, string. Network country code.", "skip_cc": "Optional, boolean. Don't add CC to a number entered starting with CC but no +.", "sgsn_sms": "Optional, boolean. Indicate during SRI-SM that we support delivering SMS via SGSN.", "home_mt_sms": "Optional, boolean. Accept home routed MT SMS; ATI is used by default to retrieve MSISDN.", "alpha_ms_sms": "Optional, boolean. Accept home routed MT SMS with alphanumeric originator.", "auth_mo_sms": "Optional, boolean. Authorize MO SMS - by default making Any Time Interrogation to HLR.", "stat_unknown": "Optional, boolean. Send status reports for unknown or unexpected errors.", "empty_force": "Optional, boolean. Require all senders to use TCAP handshake.", "empty_begin": "Optional, boolean or integer. TPDU size limit at which start using TCAP handshake, true to use always, false to not use.", "sms_attempts": "Optional, integer, range[1,30]. How many attempts to make to deliver each SMS.", "sms_cleanup": "Optional, integer, range[7,365]. After how many days clean up failed SMS from the database.", "sms_clean_ok": "Optional, integer, range [3,365]. After how many days clean up delivered SMS from the database.", "sms_routers": "Optional, integer, range [0,25]. How many SMS to attempt to route and deliver simultaneously.", "sms_maxruns": "Optional, integer, range [1,20]. How many SMS to attempt to route and deliver in a single action run.", "sms_segment": "Optional, integer, range [16,240]. Maximum size of a SMS segment in octets.", "sms_expire": "Optional, integer, range [8,2400]. Default SMS expiration interval in hours.", "max_expire": "Optional, integer, range [8,8766]. Maximum SMS expiration interval in hours.", "map_interval": "Optional, integer, range [250,2000]. Timer interval in msec for handling MAP/TCAP messages.", "map_ver": "Optional, integer, range [1,3]. MAP version to use with HLR and MSC.", "receive_more": "Optional, integer, range [0,254]. How many more MT SMS to receive in same TCAP dialog.", "deliver_more": "Optional, integer, range [0,254]. How many more MT SMS to deliver in same TCAP dialog", "complete_max": "Optional, integer, range [10,200]. Maximum number of items to insert onkey completion.", "peek_submit": "Optional, boolean. Peek into submitted messages and add their TPDU and text to CDR (can cause privacy legal issues!).", "peek_deliver": "Optional, boolean. Peek into delivered messages and add their TPDU and text to CDR (can cause privacy legal issues!).", "url_deliver": "Optional, string. URL to deliver SMS over HTTP.", "user_agent": "Optional, string. User agent to report.", "json_body": "Optional, boolean. Send a HTTP POST with JSON encoded content.", "hlr_gt": "Optional, string. Explicit HLR GT for reaching the HLR, bypasses MSISDN, E.212 or E.214 addressing.", "hlr_e212": "Optional, boolean. Use E.212 instead of E.214 addressing for making Any Time Interrogation to HLR by IMSI.", "route_mt_sms": "Optional, boolean. Handle SRI-SM for routing of MT SMS.", "delay_failed": "Optional, integer, range[60,3600]. Retry delay when delivery failed for non-specific reason.", "delay_absent": "Optional, integer, range[300,86400]. Retry delay when subscriber is absent (not registered).", "sri_timeout": "Optional, integer, range[2,15]. Timeout for sendRoutingInfoForSM operation in seconds.", "smpp_fragment": "Optional, boolean. Automatically fragment large messages received over SMPP.", "smpp_receive": "Optional, boolean. Accept SMS received on client SMPP connection.", "smpp_receipt": "Optional, boolean. Send SMPP final receipts if requested by sender.", "smpp_notify": "Optional, boolean. Send SMPP intermediate notifications if requested.", "smpp_dlr": "Optional, boolean. Send a DLR body in SMPP notifications.", "smpp_msgid": "Optional, boolean. Set a message_id in submit_sm response even if we won't generate notifications or receipts.", "smppgw_trusted": "Optional, boolean. Trust the SMPP GW enough to act on the permanent errors.", "backup_smpp_gw": "Optional, string. Set system_id from SMPP client connection for backup gateway.", "prefix_smpp_gw": "Optional, string. SMPP gateway prefix.", "smppgw_address": "Optional, string. Address to use in CDR if resolving SMPP GW name fails.", "smpp_enc_def": "Optional, string. Message encoding to assume when SMPP received 'default' without UDH.", "smpp_enc_udh": "Optional, string. Message encoding to assume when SMPP received 'default' with UDH indication.", "smpp_tx_enc": "Optional, string. Format to use to send DCS=0 (GSM-7) as default SMPP, empty, 'gsm7bit' or 'latin1'", "codec_unknown_gsm7bit_chars": "String. Specify how the text coder should handle non-printable characters for GSM7Bit. Possible values: skip - skip over unhandled characters, fail - abort GSM7Bit encoding (default), or a char that should be used for replacing non-printable characters.", "tenant_ignore_no_match_mosms_begin_empty": "Optional, boolean. Do not set tenant when handling an incoming TCAP with empty Begin and no tenant matches.", "recv_mt_deliver_sync": "Optional, boolean. Synchronosly deliver a received MT SMS.", "recv_mt_deliver_save_route": "Optional, boolean. Save first proxied MT SMS deliver route parameters.", "recv_mt_deliver_save_location": "Optional, boolean. Save first proxied MT SMS deliver SRI-SM location parameters", "sched_track_proxy": "Optional, boolean. Instruct the scheduler module to track MT SMS deliver from other modules.", "sched_track_proxy_enforce_limit": "Optional, string. Reason used to reject a proxied MT SMS if scheduler's max routing/delivering values were reached.", "sri_sm_silent_errors": "Optional, string. Comma separated list of silent (use lower debug level) SRI-SM errors.", "mt_sms_silent_errors": "Optional, string. Comma separated list of silent (use lower debug level) MT SMS deliver errors.", "common": { "empty_begin": "Optional, boolean or integer. TPDU size limit at which start using TCAP handshake, true to use always, false to not use.", "empty_force": "Optional, boolean. Require all senders to use TCAP handshake.", "home_mt_sms": "Optional, boolean. Accept home routed MT SMS; ATI is used by default to retrieve MSISDN.", "peek_submit": "Optional, boolean. Peek into submitted messages and add their TPDU and text to CDR (can cause privacy legal issues!).", "peek_deliver": "Optional, boolean. Peek into delivered messages and add their TPDU and text to CDR (can cause privacy legal issues!).", "url_deliver": "Optional, string. URL to deliver SMS over HTTP." } } }
Responses
{ "code": 0, "smsc_node": "Name of the node." }
Errors
{ "code": 401, "message": "Invalid 'sms_cleanup' value '366' - out of range." }
{ "code": 401, "message": "Invalid 'sgsn_sms' value 'test' - not a boolean." }
{ "code": 402, "message": "Missing all parameters." }
Examples: set_smsc_node
Set SMSC node
Request
{ "request": "set_smsc_node", "node": "smsc", "params": { "my_cc": "882", "skip_cc": false, "sgsn_sms": true, "stat_unknown": false, "auth_mo_sms": true, "home_mt_sms": false, "sms_attempts": 10, "sms_cleanup": 365, "sms_clean_ok": 3, "sms_routers": 25, "sms_maxruns": 20, "sms_segment": 240, "sms_expire": 8, "max_expire": 8766, "map_interval": 250, "map_ver": 3, "complete_max": 200, "user_agent": "test", "hlr_e212": "true", "hlr_gt": 250 } }
Response
{ "code": 0, "smsc_node": "smsc" }
Request: set_smpp_node
Configure SMPP settings for a YateSMSC server.
Requests
{ "request": "set_smpp_node", "node": "smsc", "params": { "server": { "bind_interval": "Optional, integer, range[10000,300000], default=60000. Interval, in milliseconds, to try listener re-bind on failure.", "codec_warndefaults": "Optional, boolean, default=true. Show debug message if a default value is used for mandatory parameters.", "system_id": "Optional, string. Default system id used for authentication.", "system_password": "Optional, string. Default password used for authentication.", "default_encoding_type": "Optional, string, allowed values:'ascii','gsm7bit'. Specify how payload data is encoded on SMPP for the default encoding.", "emit_deliver": "Optional, boolean. default=false. True if the engine should emit sms deliver messages. False for submit.", "print-messages": "Optional, string, default='no', allowed values: 'no', 'yes', 'verbose', 'extended'. Debugging option to print sent/received PDUs (messages).", "enable": "Optional, boolean, default=true. Enable or disable SMPP server.", "listeners": [ { "name": "Mandatory, string. Name of the listener.", "addr": "Mandatory, string. The address on which to listen for incoming connections.", "port": "Mandatory, integer. The port on which to listen for incoming connections.", "sslcontext": "Optional, string. Server certificate to enable SSL mode. Setting SSL Context activates SSL / TLS on the socket. Example of values for SSL context: self_signed, server.pem.", "sslverify": "Optional, string, default='none', allowed values: 'peer', 'only', 'once', 'must', 'none'. SSL client certificate verification mode.", "enable": "Optional, boolean, default=true. Enable or disable this listener." } ], "users": [ { "system_id": "Mandatory, string. Client system id used for authentication.", "system_password": "Optional, string. Client system password used for authentication. If password is not specified, it will have the same value as system_id.", "in_dcs0": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. DCS associated with 'default' encoding for inbound SMS messages.", "out_dcs0": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. DCS associated with 'default' encoding for outbound SMS messages.", "out_dcs_pref": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. Preferred DCS to use for outbound SMPP SMS messages.", "in_dcs0_udh": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. DCS (data coding scheme) used for decoding SMS messages arrived with DCS0 ('default' encoding) from SMPP with UDH. If not set, it will have the same value as in_dcs0", "out_dcs0_udh": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. DCS used to determine if encoding 'default' should be set for messages sent on SMPP with UDH. If not set, it will have the same value as out_dcs0.", "out_dcs_pref_udh": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. Preferred DCS to use for encoding SMS messages sent on SMPP with UDH. If not set, it will have the same value as out_dcs_pref." } ], "comment__users": "Collection 'users' is not mandatory." }, "client": { "bind_interval": "Optional, integer, range[10000,300000], default=60000. Interval, in milliseconds, to try listener re-bind on failure.", "codec_warndefaults": "Optional, boolean, default=true. Show debug message if a default value is used for mandatory parameters.", "system_id": "Optional, string. Default system id used for authentication.", "system_password": "Optional, string. Default password used for authentication.", "default_encoding_type": "Optional, string, allowed values:'ascii','gsm7bit'. Specify how payload data is encoded on SMPP for the default encoding.", "emit_deliver": "Optional, boolean. default=false. True if the engine should emit sms deliver messages. False for submit.", "print-messages": "Optional, string, default='no', allowed values: 'no', 'yes', 'verbose', 'extended'. Debugging option to print sent/received PDUs (messages).", "enable": "Optional, boolean, default=true. Enable or disable SMPP client.", "connections": [ { "name": "Mandatory, string. Name of the connection.", "server": "Mandatory, string. IP address of the SMPP server.", "port": "Optional, integer. Port of the SMPP server", "sslcert": "Optional, string. SSL client certificate file.", "sslkey": "Optional, string. Unencrypted key file for client SSL certificate.", "sslverify": "Optional, string, default='none', allowed values: 'none', 'peer'. SSL server certificate verification mode.", "sslmode": "Optional, boolean. Enable simple SSL client mode with no verification.", "system_id": "Optional, string. The id of this client.", "system_password": "Optional, string.Password used in authentication process.", "instances": "Optional integer. Number of instances for this client.", "flags": "Optional, string, default='bindtx', allowed values: 'bindtx','bindrx','bindtrx'. Set transmitter mode.", "in_dcs0": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. DCS associated with 'default' encoding for inbound SMS messages.", "out_dcs0": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. DCS associated with 'default' encoding for outbound SMS messages.", "out_dcs_pref": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. Preferred DCS to use for outbound SMPP SMS messages.", "in_dcs0_udh": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. DCS (data coding scheme) used for decoding SMS messages arrived with DCS0 ('default' encoding) from SMPP with UDH. If not set, it will have the same value as in_dcs0", "out_dcs0_udh": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. DCS used to determine if encoding 'default' should be set for messages sent on SMPP with UDH. If not set, it will have the same value as out_dcs0.", "out_dcs_pref_udh": "Optional, string, allowed values: 'ia5','gsm7bit', 'gsm8bit', 'ucs2', 'latin1', '8bit'. Preferred DCS to use for encoding SMS messages sent on SMPP with UDH. If not set, it will have the same value as out_dcs_pref.", "enable": "Optional, boolean, default=true. Enable or disable this connection." } ] } } }
Responses
{ "code": 0, "smpp_node": "Name of the node." }
Errors
{ "code": 401, "message": "SMPP: Invalid 'name' value - empty." }
{ "code": 401, "message": "SMPP: Invalid 'system_password' value - It must have maximum 9 characters." }
{ "code": 402, "message": "Missing all parameters." }
{ "code": 402, "message": "SMPP: Missing 'addr' parameter." }
Examples: set_smpp_node
Configure SMPP server (Non-SSL)
Request
{ "request": "set_smpp_node", "node": "smsc", "params": { "server": { "system_id": "yate", "listeners": [ { "name": "yate_server", "addr": "10.10.15.25", "port": 2775 }, { "name": "yate_server2", "addr": "10.10.15.25", "port": 2776 } ], "users": [ { "system_id": "yate" }, { "system_id": "yate2", "system_password": "test" } ] } } }
Response
{ "code": 0, "smpp_node": "smsc" }
Configure SMPP client (Non-SSL)
Request
{ "request": "set_smpp_node", "node": "smsc", "params": { "client": { "system_id": "yate", "connections": [ { "name": "yate_client", "server": "10.10.15.25", "port": 2775 }, { "name": "yate_client2", "system_id": "yate2", "system_password": "test", "server": "10.10.15.25", "port": 2776 } ] } } }
Response
{ "code": 0, "smpp_node": "smsc" }
Configure SMPP server (SSL)
Request
{ "request": "set_smpp_node", "node": "smsc", "params": { "server": { "system_id": "yate", "listeners": [ { "name": "yate_server", "addr": "10.10.15.25", "port": 2775 }, { "name": "yate_server_ssl", "addr": "10.10.15.25", "port": 2776, "sslcontext": "self_signed" } ], "users": [ { "system_id": "yate" }, { "system_id": "yate2", "system_password": "test" } ] } } }
Response
{ "code": 0, "smpp_node": "smsc" }
Configure SMPP client (SSL)
Request
{ "request": "set_smpp_node", "node": "smsc", "params": { "client": { "system_id": "yate", "connections": [ { "name": "yate_client", "server": "10.10.15.25", "port": 2775 }, { "name": "yate_client2", "system_id": "yate2", "system_password": "test", "server": "10.10.15.25", "port": 2776, "sslmode": true } ] } } }
Response
{ "code": 0, "smpp_node": "smsc" }
Request: set_ss7_node
Configure SS7 settings for a YateSMSC server.
More information about this request here
More information about this request here
Request: set_diam_node
Configure diameter settings for a YateSMSC server.
More information about this request here
More information about this request here
Request: set_regexroute
Configure regexroute rules for a YateSMSC server.
More information about this request here
More information about this request here
Request: set_javascript
Configure javascript scripts for a YateSMSC server.
More information about this request here
More information about this request here
Request: get_node_type
Retrieve a list of all installed node types with their versions.
More information about this request here
More information about this request here
Request: get_node_config
Retrieve the specific node configurations (packaged and generated) as a tarball.
Note: In case of success, the response Content-Type is application/octet-stream.
More information about this request here
Note: In case of success, the response Content-Type is application/octet-stream.
More information about this request here
Request: get_net_address
Retrieves a list of network interface information from the equipment.
More information about this request here
More information about this request here
Request: get_node_logs
Retrieve the logs of the specific node as text.
Note: In case of success, the response Content-Type is text/plain.
More information about this request here
Note: In case of success, the response Content-Type is text/plain.
More information about this request here
This documentation was generated on 10 December 2023