|
@@ -136,6 +136,7 @@ Joey Golan
|
|
|
4.82. hash_algo (integer)
|
|
|
4.83. wsapi (string)
|
|
|
4.84. dtmf_events_sock (string)
|
|
|
+ 4.85. ping_mode (integer)
|
|
|
|
|
|
5. Functions
|
|
|
|
|
@@ -267,34 +268,35 @@ Joey Golan
|
|
|
1.83. Set hash_algo parameter
|
|
|
1.84. Set wsapi parameter
|
|
|
1.85. Set dtmf_events_sock parameter
|
|
|
- 1.86. set_rtpengine_set usage
|
|
|
- 1.87. rtpengine_offer usage
|
|
|
- 1.88. rtpengine_offer usage to force transcoding from opus to PCMU
|
|
|
- 1.89. rtpengine_answer usage
|
|
|
- 1.90. rtpengine_info usage
|
|
|
- 1.91. rtpengine_delete usage
|
|
|
- 1.92. rtpengine_query usage
|
|
|
- 1.93. rtpengine_query_v usage
|
|
|
- 1.94. rtpengine_manage usage
|
|
|
- 1.95. start_recording usage
|
|
|
- 1.96. stop_recording usage
|
|
|
- 1.97. block_dtmf usage
|
|
|
- 1.98. unblock_dtmf usage
|
|
|
- 1.99. block_media usage
|
|
|
- 1.100. unblock_media usage
|
|
|
- 1.101. silence_media usage
|
|
|
- 1.102. unsilence_media usage
|
|
|
- 1.103. start_forwarding usage
|
|
|
- 1.104. stop_forwarding usage
|
|
|
- 1.105. play_media usage
|
|
|
- 1.106. stop_media usage
|
|
|
- 1.107. play_dtmf usage
|
|
|
- 1.108. $rtpestat Usage
|
|
|
- 1.109. rtpengine.reload usage
|
|
|
- 1.110. rtpengine.enable usage
|
|
|
- 1.111. rtpengine.show usage
|
|
|
- 1.112. rtpengine.ping usage
|
|
|
- 1.113. rtpengine.get_hash_total usage
|
|
|
+ 1.86. Set ping_mode parameter
|
|
|
+ 1.87. set_rtpengine_set usage
|
|
|
+ 1.88. rtpengine_offer usage
|
|
|
+ 1.89. rtpengine_offer usage to force transcoding from opus to PCMU
|
|
|
+ 1.90. rtpengine_answer usage
|
|
|
+ 1.91. rtpengine_info usage
|
|
|
+ 1.92. rtpengine_delete usage
|
|
|
+ 1.93. rtpengine_query usage
|
|
|
+ 1.94. rtpengine_query_v usage
|
|
|
+ 1.95. rtpengine_manage usage
|
|
|
+ 1.96. start_recording usage
|
|
|
+ 1.97. stop_recording usage
|
|
|
+ 1.98. block_dtmf usage
|
|
|
+ 1.99. unblock_dtmf usage
|
|
|
+ 1.100. block_media usage
|
|
|
+ 1.101. unblock_media usage
|
|
|
+ 1.102. silence_media usage
|
|
|
+ 1.103. unsilence_media usage
|
|
|
+ 1.104. start_forwarding usage
|
|
|
+ 1.105. stop_forwarding usage
|
|
|
+ 1.106. play_media usage
|
|
|
+ 1.107. stop_media usage
|
|
|
+ 1.108. play_dtmf usage
|
|
|
+ 1.109. $rtpestat Usage
|
|
|
+ 1.110. rtpengine.reload usage
|
|
|
+ 1.111. rtpengine.enable usage
|
|
|
+ 1.112. rtpengine.show usage
|
|
|
+ 1.113. rtpengine.ping usage
|
|
|
+ 1.114. rtpengine.get_hash_total usage
|
|
|
|
|
|
Chapter 1. Admin Guide
|
|
|
|
|
@@ -393,6 +395,7 @@ Chapter 1. Admin Guide
|
|
|
4.82. hash_algo (integer)
|
|
|
4.83. wsapi (string)
|
|
|
4.84. dtmf_events_sock (string)
|
|
|
+ 4.85. ping_mode (integer)
|
|
|
|
|
|
5. Functions
|
|
|
|
|
@@ -609,6 +612,7 @@ Chapter 1. Admin Guide
|
|
|
4.82. hash_algo (integer)
|
|
|
4.83. wsapi (string)
|
|
|
4.84. dtmf_events_sock (string)
|
|
|
+ 4.85. ping_mode (integer)
|
|
|
|
|
|
4.1. rtpengine_sock (string)
|
|
|
|
|
@@ -2109,6 +2113,19 @@ modparam("rtpengine", "wsapi", "lwsc")
|
|
|
modparam("rtpengine", "dtmf_events_sock", "127.0.0.1:2223")
|
|
|
...
|
|
|
|
|
|
+4.85. ping_mode (integer)
|
|
|
+
|
|
|
+ Specify if the RTPEngine instances have to be pinged at startup to
|
|
|
+ detect if they are active. Set it to 0 to disable pinging and to 1 to
|
|
|
+ activate pinging.
|
|
|
+
|
|
|
+ Default value is “1”.
|
|
|
+
|
|
|
+ Example 1.86. Set ping_mode parameter
|
|
|
+...
|
|
|
+modparam("rtpengine", "ping_mode", 0)
|
|
|
+...
|
|
|
+
|
|
|
5. Functions
|
|
|
|
|
|
5.1. set_rtpengine_set(setid[, setid])
|
|
@@ -2154,7 +2171,7 @@ modparam("rtpengine", "dtmf_events_sock", "127.0.0.1:2223")
|
|
|
This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
|
|
|
BRANCH_ROUTE.
|
|
|
|
|
|
- Example 1.86. set_rtpengine_set usage
|
|
|
+ Example 1.87. set_rtpengine_set usage
|
|
|
...
|
|
|
set_rtpengine_set("2");
|
|
|
rtpengine_offer();
|
|
@@ -2439,7 +2456,7 @@ rtpengine_offer();
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.87. rtpengine_offer usage
|
|
|
+ Example 1.88. rtpengine_offer usage
|
|
|
route {
|
|
|
...
|
|
|
if (is_method("INVITE")) {
|
|
@@ -2479,7 +2496,7 @@ ranscode=PCMA"))
|
|
|
|
|
|
...
|
|
|
|
|
|
- Example 1.88. rtpengine_offer usage to force transcoding from opus to
|
|
|
+ Example 1.89. rtpengine_offer usage to force transcoding from opus to
|
|
|
PCMU
|
|
|
route {
|
|
|
...
|
|
@@ -2514,7 +2531,7 @@ onreply_route[1]
|
|
|
This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
|
|
|
FAILURE_ROUTE, BRANCH_ROUTE.
|
|
|
|
|
|
- Example 1.89. rtpengine_answer usage
|
|
|
+ Example 1.90. rtpengine_answer usage
|
|
|
|
|
|
See rtpengine_offer() function example above for example.
|
|
|
|
|
@@ -2532,7 +2549,7 @@ onreply_route[1]
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.90. rtpengine_info usage
|
|
|
+ Example 1.91. rtpengine_info usage
|
|
|
...
|
|
|
rtpengine_info();
|
|
|
...
|
|
@@ -2547,7 +2564,7 @@ rtpengine_info();
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.91. rtpengine_delete usage
|
|
|
+ Example 1.92. rtpengine_delete usage
|
|
|
...
|
|
|
rtpengine_delete();
|
|
|
...
|
|
@@ -2563,7 +2580,7 @@ rtpengine_delete();
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.92. rtpengine_query usage
|
|
|
+ Example 1.93. rtpengine_query usage
|
|
|
...
|
|
|
rtpengine_query();
|
|
|
...
|
|
@@ -2581,7 +2598,7 @@ rtpengine_query();
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.93. rtpengine_query_v usage
|
|
|
+ Example 1.94. rtpengine_query_v usage
|
|
|
...
|
|
|
if(rtpengine_query_v("j", "$var(rdata)")) {
|
|
|
xinfo("rtpengine query response: $var(rdata)\n");
|
|
@@ -2619,7 +2636,7 @@ if(rtpengine_query_v("j", "$var(rdata)")) {
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.94. rtpengine_manage usage
|
|
|
+ Example 1.95. rtpengine_manage usage
|
|
|
...
|
|
|
rtpengine_manage();
|
|
|
...
|
|
@@ -2638,7 +2655,7 @@ rtpengine_manage();
|
|
|
|
|
|
This function can be used from REQUEST_ROUTE and ONREPLY_ROUTE.
|
|
|
|
|
|
- Example 1.95. start_recording usage
|
|
|
+ Example 1.96. start_recording usage
|
|
|
...
|
|
|
start_recording();
|
|
|
...
|
|
@@ -2657,7 +2674,7 @@ start_recording();
|
|
|
|
|
|
This function can be used from REQUEST_ROUTE and ONREPLY_ROUTE.
|
|
|
|
|
|
- Example 1.96. stop_recording usage
|
|
|
+ Example 1.97. stop_recording usage
|
|
|
...
|
|
|
stop_recording();
|
|
|
...
|
|
@@ -2681,7 +2698,7 @@ stop_recording();
|
|
|
|
|
|
This function can be used from REQUEST_ROUTE and ONREPLY_ROUTE.
|
|
|
|
|
|
- Example 1.97. block_dtmf usage
|
|
|
+ Example 1.98. block_dtmf usage
|
|
|
...
|
|
|
block_dtmf();
|
|
|
block_dtmf("directional");
|
|
@@ -2697,7 +2714,7 @@ block_dtmf("address=192.168.42.42");
|
|
|
unblocking DTMF events for the entire call (i.e. no flags given) will
|
|
|
not remove these blocks. The flag “all” can be used to achieve this.
|
|
|
|
|
|
- Example 1.98. unblock_dtmf usage
|
|
|
+ Example 1.99. unblock_dtmf usage
|
|
|
...
|
|
|
unblock_dtmf();
|
|
|
unblock_dtmf("all");
|
|
@@ -2711,7 +2728,7 @@ unblock_dtmf("all");
|
|
|
|
|
|
See “block_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.99. block_media usage
|
|
|
+ Example 1.100. block_media usage
|
|
|
...
|
|
|
block_media();
|
|
|
block_media("directional");
|
|
@@ -2725,7 +2742,7 @@ block_media("address=192.168.42.42");
|
|
|
|
|
|
See “unblock_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.100. unblock_media usage
|
|
|
+ Example 1.101. unblock_media usage
|
|
|
...
|
|
|
unblock_media();
|
|
|
unblock_media("all");
|
|
@@ -2740,7 +2757,7 @@ unblock_media("all");
|
|
|
|
|
|
See “block_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.101. silence_media usage
|
|
|
+ Example 1.102. silence_media usage
|
|
|
...
|
|
|
silence_media();
|
|
|
silence_media("directional");
|
|
@@ -2754,7 +2771,7 @@ silence_media("address=192.168.42.42");
|
|
|
|
|
|
See “unblock_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.102. unsilence_media usage
|
|
|
+ Example 1.103. unsilence_media usage
|
|
|
...
|
|
|
unsilence_media();
|
|
|
unsilence_media("all");
|
|
@@ -2769,7 +2786,7 @@ unsilence_media("all");
|
|
|
|
|
|
See “block_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.103. start_forwarding usage
|
|
|
+ Example 1.104. start_forwarding usage
|
|
|
...
|
|
|
start_forwarding();
|
|
|
start_forwarding("directional");
|
|
@@ -2783,7 +2800,7 @@ start_forwarding("address=192.168.42.42");
|
|
|
|
|
|
See “unblock_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.104. stop_forwarding usage
|
|
|
+ Example 1.105. stop_forwarding usage
|
|
|
...
|
|
|
stop_forwarding();
|
|
|
stop_forwarding("all");
|
|
@@ -2802,7 +2819,7 @@ stop_forwarding("all");
|
|
|
the duration of the media being played, expressed in milliseconds. If
|
|
|
the length of the media could not be determined, it's set to -1.
|
|
|
|
|
|
- Example 1.105. play_media usage
|
|
|
+ Example 1.106. play_media usage
|
|
|
...
|
|
|
play_media("file=/use/share/media/hello.wav");
|
|
|
play_media("from-tag=tfugklbildfydrtuykgfv db-id=12345");
|
|
@@ -2814,7 +2831,7 @@ play_media("from-tag=tfugklbildfydrtuykgfv db-id=12345");
|
|
|
playback is automatically stopped when the end of the media file is
|
|
|
reached, so this function is only useful to prematurely stop playback.
|
|
|
|
|
|
- Example 1.106. stop_media usage
|
|
|
+ Example 1.107. stop_media usage
|
|
|
...
|
|
|
stop_media();
|
|
|
stop_media("from-tag=5yqaeriguhxcikxj");
|
|
@@ -2845,7 +2862,7 @@ stop_media("from-tag=5yqaeriguhxcikxj");
|
|
|
alternative pause length can be given through the “pause” option,
|
|
|
between 100 and 5000 ms.
|
|
|
|
|
|
- Example 1.107. play_dtmf usage
|
|
|
+ Example 1.108. play_dtmf usage
|
|
|
...
|
|
|
play_dtmf("from-tag=5yqaeriguhxcikxj code=#");
|
|
|
play_dtmf("code=1 volume=5 duration=300 pause=150");
|
|
@@ -2863,7 +2880,7 @@ play_dtmf("code=1 volume=5 duration=300 pause=150");
|
|
|
packet counters. The statistics must be retrieved before the session is
|
|
|
deleted (before rtpengine_delete()).
|
|
|
|
|
|
- Example 1.108. $rtpestat Usage
|
|
|
+ Example 1.109. $rtpestat Usage
|
|
|
...
|
|
|
append_hf("X-RTP-Statistics: $rtpestat\r\n");
|
|
|
...
|
|
@@ -2895,7 +2912,7 @@ ackets, 0 errors
|
|
|
|
|
|
The execution of this command is limited to 10 seconds intervals.
|
|
|
|
|
|
- Example 1.109. rtpengine.reload usage
|
|
|
+ Example 1.110. rtpengine.reload usage
|
|
|
...
|
|
|
$ kamcmd rtpengine.reload
|
|
|
...
|
|
@@ -2926,7 +2943,7 @@ $ kamcmd rtpengine.reload
|
|
|
NOTE: If you specify an IPv6 RTP, the proxy url must be prefixed with
|
|
|
:: to escape the :: from the IPv6 address. See the example below.
|
|
|
|
|
|
- Example 1.110. rtpengine.enable usage
|
|
|
+ Example 1.111. rtpengine.enable usage
|
|
|
...
|
|
|
$ kamcmd rtpengine.enable udp:192.168.2.133:8081 0
|
|
|
$ kamcmd rtpengine.enable ::udp6:fe80::9a90:96ff:fea8:fd99:9999 1
|
|
@@ -2949,7 +2966,7 @@ $ kamcmd rtpengine.enable all 1
|
|
|
NOTE: When specify the IPv6 RTP proxy url one must prefix it with :: to
|
|
|
escape the :: from the IPv6 address. See the example below.
|
|
|
|
|
|
- Example 1.111. rtpengine.show usage
|
|
|
+ Example 1.112. rtpengine.show usage
|
|
|
...
|
|
|
$ kamcmd rtpengine.show udp:192.168.2.133:8081
|
|
|
$ kamcmd rtpengine.show ::udp6:fe80::9a90:96ff:fea8:fd99:9999
|
|
@@ -2969,7 +2986,7 @@ $ kamcmd rtpengine.show all
|
|
|
NOTE: When specify the IPv6 RTP proxy url one must prefix it with :: to
|
|
|
escape the :: from the IPv6 address. See the example below.
|
|
|
|
|
|
- Example 1.112. rtpengine.ping usage
|
|
|
+ Example 1.113. rtpengine.ping usage
|
|
|
...
|
|
|
$ kamcmd rtpengine.ping udp:192.168.2.133:8081
|
|
|
$ kamcmd rtpengine.ping ::udp6:fe80::9a90:96ff:fea8:fd99:9999
|
|
@@ -2981,7 +2998,7 @@ $ kamcmd rtpengine.ping all
|
|
|
Print the total number of hash entries in the hash table at a given
|
|
|
moment.
|
|
|
|
|
|
- Example 1.113. rtpengine.get_hash_total usage
|
|
|
+ Example 1.114. rtpengine.get_hash_total usage
|
|
|
...
|
|
|
$ kamcmd rtpengine.get_hash_total
|
|
|
...
|