Northbound interface:Configuration:H248

From TBwiki
(Difference between revisions)
Jump to: navigation, search
(h248_media_gateway_controllers)
(h248_stack)
Line 5: Line 5:
 
== Element Addition (POST) ==
 
== Element Addition (POST) ==
 
=== h248_stack ===
 
=== h248_stack ===
This example uses default values mostly.  Some attributes are given specific values, depending on the needs.  There is also required attributes, for which no defaults exist.  Here and '''transport_protocol.ip_interface''' and '''transport_protocol.public_ip_address''' are by default empty, and must be set otherwise the ''POST'' will be refused.  The attribute ''naps'' will also be required to complete the overall configuration ,but can be omitted during the creation ''POST''.
+
This example uses default values mostly.  Some attributes are given specific values, depending on the needs.  There is also required attributes, for which no defaults exist.  Here and '''transport_protocol.ip_interface''' and '''transport_protocol.public_ip_address''' are by default empty, and must be set otherwise the ''POST'' will be refused.  The attribute ''naps'' is also required to complete the overall configuration, but can be omitted during the creation ''POST'', and added at a later time.
 
   POST /configurations/{CfgName}/h248_stacks {
 
   POST /configurations/{CfgName}/h248_stacks {
 
   -> Content: {  
 
   -> Content: {  

Revision as of 15:11, 27 November 2015

Contents

H.248 Configuration

The simplest approach to configuring H.248 is to POST only attributes for which we want non-default values. The structure of the H.248 JSON object can be queried by getting the default values, explained later on on this page.

Element Addition (POST)

h248_stack

This example uses default values mostly. Some attributes are given specific values, depending on the needs. There is also required attributes, for which no defaults exist. Here and transport_protocol.ip_interface and transport_protocol.public_ip_address are by default empty, and must be set otherwise the POST will be refused. The attribute naps is also required to complete the overall configuration, but can be omitted during the creation POST, and added at a later time.

 POST /configurations/{CfgName}/h248_stacks {
 -> Content: { 
 "***meta***" : {
   "version" : "2.9.10"
 },
 "advanced_parameters" : {
   "serialize_null_context_commands" : true
 },
 "enabled" : true,
 "naps" : [
   "NAP_TDM",
   "RTP_NAP"
 ],
 "timers" : {
   "local_response_timer" : "4 seconds"
 },
 "transport_protocol" : {
   "ip_interface" : "TB0999999.SIG",
   "public_ip_address" : "10.1.0.254",
   "use_ip_interface" : true
 }
 }

Here {CfgName} should be replaced by the name of your configuration. TB0999999.SIG is the IP interface name to use for the H.248 signalling trafic. This name must be globally unique, and therefore the Unit serial number must be prepended to the IP interface name in order to form a globally unique name.

 ip_interface = Unit.IpInterfaceName

For example, here the ip_interface name is TB0999999.SIG
IpInterfaceName.png

h248_media_gateway_controllers

After having added the h.248 stack, h248_media_gateway_controller can be added.

 POST /configurations/{CfgName}/h248_stacks/gateway_h248/h248_media_gateway_controllers
 -> Content: {
   "***meta***" : {
   "version" : "2.9.10"
   },
   "name" : "MyMGC",
   "ip_address" : "10.1.0.252",
   "port_to_send_for_text_encoding" : 2944,
   "position" : 1
 }

Getting the default values

To add a H.248 to a new configuration, it might be helpful to get the default values first. This can be done with a GET with using new as element name under the h248_stacks collection. The attribute values from the returned JSON object can then be modified before submitting the new element using the POST method.

h248_stack

 GET /configurations/{CfgName}/h248_stacks/new
 <- Content: {
 "***meta***" : {
   "version" : "2.9.10"
 },
 "advanced_parameters" : {
   "allow_wildcard_in_service_change" : true,
   "behavior" : {
     "compact_h248_descriptor_headers" : false,
     "loose_h248_message_decoding" : false,
     "no_only_ephemeral" : false,
     "no_remote_response" : false,
     "no_sctp_send_acknowledge" : false,
     "no_warm_service_change" : false,
     "null_terminating_h248_message" : false,
     "relay_unknown_h248_parameters" : false,
     "send_transaction_pending_automatically" : false,
     "send_transaction_response_acks" : false,
     "send_transaction_response_acks_immediately" : true,
     "transparent_sdp" : true
   },
   "default_megaco_version" : 2,
   "ephemeral_termination_identifier_maximum_value" : 4294967295,
   "ephemeral_termination_identifier_root" : "IP/",
   "maximum_number_of_dns_pending_requests" : 5,
   "maximum_number_of_ephemeral_terminations" : 2048,
   "maximum_number_of_retransmissions" : 11,
   "maximum_number_of_tdm_terminations" : 2048,
   "profile" : {
     "profile_enabled" : false,
     "profile_name" : "",
     "profile_version" : ""
   },
   "serialize_null_context_commands" : false,
   "switch_to_passthrough_on_tdm_ec_off" : true
 },
 "enabled" : true,
 "naps" : [
 ],
 "timers" : {
   "default_sent_transaction_timer" : "500 milliseconds",
   "dialing_duration_timer" : "5 seconds",
   "dialing_long_timer" : "15 seconds",
   "dialing_short_timer" : "5 seconds",
   "dialing_start_timer" : "30 seconds",
   "inactivity_timer" : "30 seconds",
   "local_response_timer" : "10 seconds",
   "maximum_sent_transaction_timer" : "4 seconds",
   "provisional_reply_transaction_timer" : "6 seconds",
   "restart_timer_value_to_retry_controller_association" : "30 seconds",
   "saved_replied_transaction_timer" : "30 seconds"
 },
 "transport_protocol" : {
   "ip_interface" : "",
   "ip_tos_value" : 0,
   "local_ip_address" : "",
   "local_port_to_receive_for_text_encoding" : 2944,
   "public_ip_address" : "",
   "sctp_parameters" : {
     "checksum_type" : "AUTODETECT",
     "maximum_number_of_association_per_instance" : 5,
     "maximum_number_of_init_cookie_echo_chunk_retransmission" : 8,
     "maximum_number_of_input_sctp_streams" : 32,
     "maximum_number_of_instance_sapi" : 2,
     "maximum_number_of_ip_address_per_instance" : 2,
     "maximum_number_of_output_sctp_streams" : 5,
     "maximum_number_of_packets_sent_when_transmitting_new_data_chunks" : 4,
     "maximum_number_of_retransmission_per_association" : 10,
     "maximum_number_of_retransmission_per_path" : 5,
     "maximum_number_of_sctp_responses_waiting_for_acknowledge" : 5,
     "maximum_number_of_streams_per_association" : 4,
     "number_of_network_interface_card" : 2
   },
   "transport_protocol_type" : "UDP",
   "use_ip_interface" : false
 },
 "h248_media_gateway_controllers" : {
 },
 "h248_tdm_terminations" : {
 }
}

h248_media_gateway_controllers

 GET /configurations/{CfgName}/h248_stacks/gateway_h248/h248_media_gateway_controllers/new
 <- Content: {
 "***meta***" : {
   "version" : "2.9.10"
 },
 "ip_address" : "",
 "name" : "new_1",
 "port_to_send_for_text_encoding" : 2944,
 "position" : 0
 }

h248_tdm_terminations

New element can't be added into h248_tdm_terminations collection on /configurations/{CfgName}/h248_stacks/gateway_h248/h248_tdm_terminations URI, therefore getting default parameters using /new is not possible. Elements in h248_tdm_terminations collection are automatically added when linking NAPs to h248_gateway.

 GET /configurations/{CfgName}/h248_stacks/h248_gateway
 ...
 "naps" : [
  "NAP_TDM",
  "RTP_NAP"
 ],
 ...

Here NAP_TDM is linked to h248_gateway, therefore E1/T1 trunks owned by that NAP will be populated in the h248_tdm_terminations collection.

Personal tools