|
@@ -159,28 +159,29 @@ Joey Golan
|
|
14.3. rtpengine_answer([flags][,via-branch])
|
|
14.3. rtpengine_answer([flags][,via-branch])
|
|
14.4. rtpengine_info([flags][,via-branch])
|
|
14.4. rtpengine_info([flags][,via-branch])
|
|
14.5. rtpengine_delete([flags][,via-branch])
|
|
14.5. rtpengine_delete([flags][,via-branch])
|
|
- 14.6. rtpengine_query([flags][,via-branch])
|
|
|
|
- 14.7. rtpengine_query_v(fmt, var)
|
|
|
|
- 14.8. rtpengine_manage([flags][,via-branch])
|
|
|
|
- 14.9.
|
|
|
|
- rtpengine_subscribe_request(flags,sdp_avp,to_tag_avp,st
|
|
|
|
- ream_xavp[,via-branch])
|
|
|
|
-
|
|
|
|
- 14.10. rtpengine_subscribe_answer([flags][,via-branch])
|
|
|
|
- 14.11. rtpengine_unsubscribe([flags][,via-branch])
|
|
|
|
- 14.12. start_recording([flags])
|
|
|
|
- 14.13. stop_recording([flags])
|
|
|
|
- 14.14. block_dtmf([flags])
|
|
|
|
- 14.15. unblock_dtmf([flags])
|
|
|
|
- 14.16. block_media([flags])
|
|
|
|
- 14.17. unblock_media([flags])
|
|
|
|
- 14.18. silence_media([flags])
|
|
|
|
- 14.19. unsilence_media([flags])
|
|
|
|
- 14.20. start_forwarding([flags])
|
|
|
|
- 14.21. stop_forwarding([flags])
|
|
|
|
- 14.22. play_media([flags])
|
|
|
|
- 14.23. stop_media([flags])
|
|
|
|
- 14.24. play_dtmf([flags])
|
|
|
|
|
|
+ 14.6. rtpengine_destroy([flags][,via-branch])
|
|
|
|
+ 14.7. rtpengine_query([flags][,via-branch])
|
|
|
|
+ 14.8. rtpengine_query_v(fmt, var)
|
|
|
|
+ 14.9. rtpengine_manage([flags][,via-branch])
|
|
|
|
+ 14.10.
|
|
|
|
+ rtpengine_subscribe_request(flags,sdp_avp,to_tag_avp,s
|
|
|
|
+ tream_xavp[,via-branch])
|
|
|
|
+
|
|
|
|
+ 14.11. rtpengine_subscribe_answer([flags][,via-branch])
|
|
|
|
+ 14.12. rtpengine_unsubscribe([flags][,via-branch])
|
|
|
|
+ 14.13. start_recording([flags])
|
|
|
|
+ 14.14. stop_recording([flags])
|
|
|
|
+ 14.15. block_dtmf([flags])
|
|
|
|
+ 14.16. unblock_dtmf([flags])
|
|
|
|
+ 14.17. block_media([flags])
|
|
|
|
+ 14.18. unblock_media([flags])
|
|
|
|
+ 14.19. silence_media([flags])
|
|
|
|
+ 14.20. unsilence_media([flags])
|
|
|
|
+ 14.21. start_forwarding([flags])
|
|
|
|
+ 14.22. stop_forwarding([flags])
|
|
|
|
+ 14.23. play_media([flags])
|
|
|
|
+ 14.24. stop_media([flags])
|
|
|
|
+ 14.25. play_dtmf([flags])
|
|
|
|
|
|
15. Exported Pseudo Variables
|
|
15. Exported Pseudo Variables
|
|
|
|
|
|
@@ -299,31 +300,32 @@ Joey Golan
|
|
1.94. rtpengine_answer usage
|
|
1.94. rtpengine_answer usage
|
|
1.95. rtpengine_info usage
|
|
1.95. rtpengine_info usage
|
|
1.96. rtpengine_delete usage
|
|
1.96. rtpengine_delete usage
|
|
- 1.97. rtpengine_query usage
|
|
|
|
- 1.98. rtpengine_query_v usage
|
|
|
|
- 1.99. rtpengine_manage usage
|
|
|
|
- 1.100. rtpengine_off usage
|
|
|
|
- 1.101. rtpengine_subscribe_answer usage
|
|
|
|
- 1.102. rtpengine_unsubscribe usage
|
|
|
|
- 1.103. start_recording usage
|
|
|
|
- 1.104. stop_recording usage
|
|
|
|
- 1.105. block_dtmf usage
|
|
|
|
- 1.106. unblock_dtmf usage
|
|
|
|
- 1.107. block_media usage
|
|
|
|
- 1.108. unblock_media usage
|
|
|
|
- 1.109. silence_media usage
|
|
|
|
- 1.110. unsilence_media usage
|
|
|
|
- 1.111. start_forwarding usage
|
|
|
|
- 1.112. stop_forwarding usage
|
|
|
|
- 1.113. play_media usage
|
|
|
|
- 1.114. stop_media usage
|
|
|
|
- 1.115. play_dtmf usage
|
|
|
|
- 1.116. $rtpestat Usage
|
|
|
|
- 1.117. rtpengine.reload usage
|
|
|
|
- 1.118. rtpengine.enable usage
|
|
|
|
- 1.119. rtpengine.show usage
|
|
|
|
- 1.120. rtpengine.ping usage
|
|
|
|
- 1.121. rtpengine.get_hash_total usage
|
|
|
|
|
|
+ 1.97. rtpengine_destroy usage
|
|
|
|
+ 1.98. rtpengine_query usage
|
|
|
|
+ 1.99. rtpengine_query_v usage
|
|
|
|
+ 1.100. rtpengine_manage usage
|
|
|
|
+ 1.101. rtpengine_off usage
|
|
|
|
+ 1.102. rtpengine_subscribe_answer usage
|
|
|
|
+ 1.103. rtpengine_unsubscribe usage
|
|
|
|
+ 1.104. start_recording usage
|
|
|
|
+ 1.105. stop_recording usage
|
|
|
|
+ 1.106. block_dtmf usage
|
|
|
|
+ 1.107. unblock_dtmf usage
|
|
|
|
+ 1.108. block_media usage
|
|
|
|
+ 1.109. unblock_media usage
|
|
|
|
+ 1.110. silence_media usage
|
|
|
|
+ 1.111. unsilence_media usage
|
|
|
|
+ 1.112. start_forwarding usage
|
|
|
|
+ 1.113. stop_forwarding usage
|
|
|
|
+ 1.114. play_media usage
|
|
|
|
+ 1.115. stop_media usage
|
|
|
|
+ 1.116. play_dtmf usage
|
|
|
|
+ 1.117. $rtpestat Usage
|
|
|
|
+ 1.118. rtpengine.reload usage
|
|
|
|
+ 1.119. rtpengine.enable usage
|
|
|
|
+ 1.120. rtpengine.show usage
|
|
|
|
+ 1.121. rtpengine.ping usage
|
|
|
|
+ 1.122. rtpengine.get_hash_total usage
|
|
|
|
|
|
Chapter 1. Admin Guide
|
|
Chapter 1. Admin Guide
|
|
|
|
|
|
@@ -441,28 +443,29 @@ Chapter 1. Admin Guide
|
|
14.3. rtpengine_answer([flags][,via-branch])
|
|
14.3. rtpengine_answer([flags][,via-branch])
|
|
14.4. rtpengine_info([flags][,via-branch])
|
|
14.4. rtpengine_info([flags][,via-branch])
|
|
14.5. rtpengine_delete([flags][,via-branch])
|
|
14.5. rtpengine_delete([flags][,via-branch])
|
|
- 14.6. rtpengine_query([flags][,via-branch])
|
|
|
|
- 14.7. rtpengine_query_v(fmt, var)
|
|
|
|
- 14.8. rtpengine_manage([flags][,via-branch])
|
|
|
|
- 14.9.
|
|
|
|
- rtpengine_subscribe_request(flags,sdp_avp,to_tag_avp,stream_x
|
|
|
|
- avp[,via-branch])
|
|
|
|
-
|
|
|
|
- 14.10. rtpengine_subscribe_answer([flags][,via-branch])
|
|
|
|
- 14.11. rtpengine_unsubscribe([flags][,via-branch])
|
|
|
|
- 14.12. start_recording([flags])
|
|
|
|
- 14.13. stop_recording([flags])
|
|
|
|
- 14.14. block_dtmf([flags])
|
|
|
|
- 14.15. unblock_dtmf([flags])
|
|
|
|
- 14.16. block_media([flags])
|
|
|
|
- 14.17. unblock_media([flags])
|
|
|
|
- 14.18. silence_media([flags])
|
|
|
|
- 14.19. unsilence_media([flags])
|
|
|
|
- 14.20. start_forwarding([flags])
|
|
|
|
- 14.21. stop_forwarding([flags])
|
|
|
|
- 14.22. play_media([flags])
|
|
|
|
- 14.23. stop_media([flags])
|
|
|
|
- 14.24. play_dtmf([flags])
|
|
|
|
|
|
+ 14.6. rtpengine_destroy([flags][,via-branch])
|
|
|
|
+ 14.7. rtpengine_query([flags][,via-branch])
|
|
|
|
+ 14.8. rtpengine_query_v(fmt, var)
|
|
|
|
+ 14.9. rtpengine_manage([flags][,via-branch])
|
|
|
|
+ 14.10.
|
|
|
|
+ rtpengine_subscribe_request(flags,sdp_avp,to_tag_avp,stream_
|
|
|
|
+ xavp[,via-branch])
|
|
|
|
+
|
|
|
|
+ 14.11. rtpengine_subscribe_answer([flags][,via-branch])
|
|
|
|
+ 14.12. rtpengine_unsubscribe([flags][,via-branch])
|
|
|
|
+ 14.13. start_recording([flags])
|
|
|
|
+ 14.14. stop_recording([flags])
|
|
|
|
+ 14.15. block_dtmf([flags])
|
|
|
|
+ 14.16. unblock_dtmf([flags])
|
|
|
|
+ 14.17. block_media([flags])
|
|
|
|
+ 14.18. unblock_media([flags])
|
|
|
|
+ 14.19. silence_media([flags])
|
|
|
|
+ 14.20. unsilence_media([flags])
|
|
|
|
+ 14.21. start_forwarding([flags])
|
|
|
|
+ 14.22. stop_forwarding([flags])
|
|
|
|
+ 14.23. play_media([flags])
|
|
|
|
+ 14.24. stop_media([flags])
|
|
|
|
+ 14.25. play_dtmf([flags])
|
|
|
|
|
|
15. Exported Pseudo Variables
|
|
15. Exported Pseudo Variables
|
|
|
|
|
|
@@ -2242,28 +2245,29 @@ modparam("rtpengine", "enable_dmq", 1)
|
|
14.3. rtpengine_answer([flags][,via-branch])
|
|
14.3. rtpengine_answer([flags][,via-branch])
|
|
14.4. rtpengine_info([flags][,via-branch])
|
|
14.4. rtpengine_info([flags][,via-branch])
|
|
14.5. rtpengine_delete([flags][,via-branch])
|
|
14.5. rtpengine_delete([flags][,via-branch])
|
|
- 14.6. rtpengine_query([flags][,via-branch])
|
|
|
|
- 14.7. rtpengine_query_v(fmt, var)
|
|
|
|
- 14.8. rtpengine_manage([flags][,via-branch])
|
|
|
|
- 14.9.
|
|
|
|
- rtpengine_subscribe_request(flags,sdp_avp,to_tag_avp,stream_xavp[,
|
|
|
|
- via-branch])
|
|
|
|
-
|
|
|
|
- 14.10. rtpengine_subscribe_answer([flags][,via-branch])
|
|
|
|
- 14.11. rtpengine_unsubscribe([flags][,via-branch])
|
|
|
|
- 14.12. start_recording([flags])
|
|
|
|
- 14.13. stop_recording([flags])
|
|
|
|
- 14.14. block_dtmf([flags])
|
|
|
|
- 14.15. unblock_dtmf([flags])
|
|
|
|
- 14.16. block_media([flags])
|
|
|
|
- 14.17. unblock_media([flags])
|
|
|
|
- 14.18. silence_media([flags])
|
|
|
|
- 14.19. unsilence_media([flags])
|
|
|
|
- 14.20. start_forwarding([flags])
|
|
|
|
- 14.21. stop_forwarding([flags])
|
|
|
|
- 14.22. play_media([flags])
|
|
|
|
- 14.23. stop_media([flags])
|
|
|
|
- 14.24. play_dtmf([flags])
|
|
|
|
|
|
+ 14.6. rtpengine_destroy([flags][,via-branch])
|
|
|
|
+ 14.7. rtpengine_query([flags][,via-branch])
|
|
|
|
+ 14.8. rtpengine_query_v(fmt, var)
|
|
|
|
+ 14.9. rtpengine_manage([flags][,via-branch])
|
|
|
|
+ 14.10.
|
|
|
|
+ rtpengine_subscribe_request(flags,sdp_avp,to_tag_avp,stream_xavp[
|
|
|
|
+ ,via-branch])
|
|
|
|
+
|
|
|
|
+ 14.11. rtpengine_subscribe_answer([flags][,via-branch])
|
|
|
|
+ 14.12. rtpengine_unsubscribe([flags][,via-branch])
|
|
|
|
+ 14.13. start_recording([flags])
|
|
|
|
+ 14.14. stop_recording([flags])
|
|
|
|
+ 14.15. block_dtmf([flags])
|
|
|
|
+ 14.16. unblock_dtmf([flags])
|
|
|
|
+ 14.17. block_media([flags])
|
|
|
|
+ 14.18. unblock_media([flags])
|
|
|
|
+ 14.19. silence_media([flags])
|
|
|
|
+ 14.20. unsilence_media([flags])
|
|
|
|
+ 14.21. start_forwarding([flags])
|
|
|
|
+ 14.22. stop_forwarding([flags])
|
|
|
|
+ 14.23. play_media([flags])
|
|
|
|
+ 14.24. stop_media([flags])
|
|
|
|
+ 14.25. play_dtmf([flags])
|
|
|
|
|
|
14.1. set_rtpengine_set(setid[, setid])
|
|
14.1. set_rtpengine_set(setid[, setid])
|
|
|
|
|
|
@@ -2717,7 +2721,16 @@ rtpengine_info();
|
|
rtpengine_delete();
|
|
rtpengine_delete();
|
|
...
|
|
...
|
|
|
|
|
|
-14.6. rtpengine_query([flags][,via-branch])
|
|
|
|
|
|
+14.6. rtpengine_destroy([flags][,via-branch])
|
|
|
|
+
|
|
|
|
+ Same as rtpengine_delete().
|
|
|
|
+
|
|
|
|
+ Example 1.97. rtpengine_destroy usage
|
|
|
|
+...
|
|
|
|
+rtpengine_destroy();
|
|
|
|
+...
|
|
|
|
+
|
|
|
|
+14.7. rtpengine_query([flags][,via-branch])
|
|
|
|
|
|
Queries the RTP proxy about the current status and statistics of a
|
|
Queries the RTP proxy about the current status and statistics of a
|
|
running call. This populates the statistics pseudovariables (such
|
|
running call. This populates the statistics pseudovariables (such
|
|
@@ -2728,12 +2741,12 @@ rtpengine_delete();
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.97. rtpengine_query usage
|
|
|
|
|
|
+ Example 1.98. rtpengine_query usage
|
|
...
|
|
...
|
|
rtpengine_query();
|
|
rtpengine_query();
|
|
...
|
|
...
|
|
|
|
|
|
-14.7. rtpengine_query_v(fmt, var)
|
|
|
|
|
|
+14.8. rtpengine_query_v(fmt, var)
|
|
|
|
|
|
Queries the RTP proxy about the current status and statistics of a
|
|
Queries the RTP proxy about the current status and statistics of a
|
|
running call, converts the response to JSON according to fmt and sets
|
|
running call, converts the response to JSON according to fmt and sets
|
|
@@ -2746,14 +2759,14 @@ rtpengine_query();
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.98. rtpengine_query_v usage
|
|
|
|
|
|
+ Example 1.99. rtpengine_query_v usage
|
|
...
|
|
...
|
|
if(rtpengine_query_v("j", "$var(rdata)")) {
|
|
if(rtpengine_query_v("j", "$var(rdata)")) {
|
|
xinfo("rtpengine query response: $var(rdata)\n");
|
|
xinfo("rtpengine query response: $var(rdata)\n");
|
|
}
|
|
}
|
|
...
|
|
...
|
|
|
|
|
|
-14.8. rtpengine_manage([flags][,via-branch])
|
|
|
|
|
|
+14.9. rtpengine_manage([flags][,via-branch])
|
|
|
|
|
|
Manage the RTPEngine session - it combines the functionality of
|
|
Manage the RTPEngine session - it combines the functionality of
|
|
rtpengine_offer(), rtpengine_answer() and rtpengine_delete(), detecting
|
|
rtpengine_offer(), rtpengine_answer() and rtpengine_delete(), detecting
|
|
@@ -2784,12 +2797,12 @@ if(rtpengine_query_v("j", "$var(rdata)")) {
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.99. rtpengine_manage usage
|
|
|
|
|
|
+ Example 1.100. rtpengine_manage usage
|
|
...
|
|
...
|
|
rtpengine_manage();
|
|
rtpengine_manage();
|
|
...
|
|
...
|
|
|
|
|
|
-14.9.
|
|
|
|
|
|
+14.10.
|
|
rtpengine_subscribe_request(flags,sdp_avp,to_tag_avp,stream_xavp[,via-branch]
|
|
rtpengine_subscribe_request(flags,sdp_avp,to_tag_avp,stream_xavp[,via-branch]
|
|
)
|
|
)
|
|
|
|
|
|
@@ -2872,7 +2885,7 @@ rtpengine_subscribe_request(flags,sdp_avp,to_tag_avp,stream_xavp[,via-branch]
|
|
|
|
|
|
This function can be used from ANY_ROUTE.
|
|
This function can be used from ANY_ROUTE.
|
|
|
|
|
|
- Example 1.100. rtpengine_off usage
|
|
|
|
|
|
+ Example 1.101. rtpengine_off usage
|
|
route {
|
|
route {
|
|
...
|
|
...
|
|
if (is_method("INVITE")) {
|
|
if (is_method("INVITE")) {
|
|
@@ -2943,7 +2956,7 @@ ec_to_tag) call-id="$avp(orig_callid)");
|
|
}
|
|
}
|
|
...
|
|
...
|
|
|
|
|
|
-14.10. rtpengine_subscribe_answer([flags][,via-branch])
|
|
|
|
|
|
+14.11. rtpengine_subscribe_answer([flags][,via-branch])
|
|
|
|
|
|
Sends the SDP answer from the recording server to the rtpengine
|
|
Sends the SDP answer from the recording server to the rtpengine
|
|
|
|
|
|
@@ -2962,11 +2975,11 @@ ec_to_tag) call-id="$avp(orig_callid)");
|
|
+ from-tag=... - value of the from tag of the original call.
|
|
+ from-tag=... - value of the from tag of the original call.
|
|
+ call-id=... - value of the call id of the original call.
|
|
+ call-id=... - value of the call id of the original call.
|
|
|
|
|
|
- Example 1.101. rtpengine_subscribe_answer usage
|
|
|
|
|
|
+ Example 1.102. rtpengine_subscribe_answer usage
|
|
|
|
|
|
See rtpengine_subscribe_request() function example above for example.
|
|
See rtpengine_subscribe_request() function example above for example.
|
|
|
|
|
|
-14.11. rtpengine_unsubscribe([flags][,via-branch])
|
|
|
|
|
|
+14.12. rtpengine_unsubscribe([flags][,via-branch])
|
|
|
|
|
|
Sends the SDP answer from the recording server to the rtpengine
|
|
Sends the SDP answer from the recording server to the rtpengine
|
|
|
|
|
|
@@ -2985,7 +2998,7 @@ ec_to_tag) call-id="$avp(orig_callid)");
|
|
+ from-tag=... - value of the from tag of the original call.
|
|
+ from-tag=... - value of the from tag of the original call.
|
|
+ call-id=... - value of the call id of the original call.
|
|
+ call-id=... - value of the call id of the original call.
|
|
|
|
|
|
- Example 1.102. rtpengine_unsubscribe usage
|
|
|
|
|
|
+ Example 1.103. rtpengine_unsubscribe usage
|
|
|
|
|
|
event_route [dialog:end] {
|
|
event_route [dialog:end] {
|
|
#call over, stop recording
|
|
#call over, stop recording
|
|
@@ -3002,7 +3015,7 @@ g) call-id="$avp(orig_callid)");
|
|
}
|
|
}
|
|
...
|
|
...
|
|
|
|
|
|
-14.12. start_recording([flags])
|
|
|
|
|
|
+14.13. start_recording([flags])
|
|
|
|
|
|
This function will send a signal to the RTP relay to record the RTP
|
|
This function will send a signal to the RTP relay to record the RTP
|
|
stream flowing through it. See also the option “record-call=on” for
|
|
stream flowing through it. See also the option “record-call=on” for
|
|
@@ -3016,12 +3029,12 @@ g) call-id="$avp(orig_callid)");
|
|
|
|
|
|
This function can be used from REQUEST_ROUTE and ONREPLY_ROUTE.
|
|
This function can be used from REQUEST_ROUTE and ONREPLY_ROUTE.
|
|
|
|
|
|
- Example 1.103. start_recording usage
|
|
|
|
|
|
+ Example 1.104. start_recording usage
|
|
...
|
|
...
|
|
start_recording();
|
|
start_recording();
|
|
...
|
|
...
|
|
|
|
|
|
-14.13. stop_recording([flags])
|
|
|
|
|
|
+14.14. stop_recording([flags])
|
|
|
|
|
|
This function will send a signal to the RTP relay to stop recording the
|
|
This function will send a signal to the RTP relay to stop recording the
|
|
RTP stream flowing through it. See also the option “record-call=off”
|
|
RTP stream flowing through it. See also the option “record-call=off”
|
|
@@ -3035,12 +3048,12 @@ start_recording();
|
|
|
|
|
|
This function can be used from REQUEST_ROUTE and ONREPLY_ROUTE.
|
|
This function can be used from REQUEST_ROUTE and ONREPLY_ROUTE.
|
|
|
|
|
|
- Example 1.104. stop_recording usage
|
|
|
|
|
|
+ Example 1.105. stop_recording usage
|
|
...
|
|
...
|
|
stop_recording();
|
|
stop_recording();
|
|
...
|
|
...
|
|
|
|
|
|
-14.14. block_dtmf([flags])
|
|
|
|
|
|
+14.15. block_dtmf([flags])
|
|
|
|
|
|
This function will instruct the RTP proxy to start blocking DTMF event
|
|
This function will instruct the RTP proxy to start blocking DTMF event
|
|
packets (RFC 4733). DTMF events will still be processed by the RTP
|
|
packets (RFC 4733). DTMF events will still be processed by the RTP
|
|
@@ -3059,14 +3072,14 @@ stop_recording();
|
|
|
|
|
|
This function can be used from REQUEST_ROUTE and ONREPLY_ROUTE.
|
|
This function can be used from REQUEST_ROUTE and ONREPLY_ROUTE.
|
|
|
|
|
|
- Example 1.105. block_dtmf usage
|
|
|
|
|
|
+ Example 1.106. block_dtmf usage
|
|
...
|
|
...
|
|
block_dtmf();
|
|
block_dtmf();
|
|
block_dtmf("directional");
|
|
block_dtmf("directional");
|
|
block_dtmf("address=192.168.42.42");
|
|
block_dtmf("address=192.168.42.42");
|
|
...
|
|
...
|
|
|
|
|
|
-14.15. unblock_dtmf([flags])
|
|
|
|
|
|
+14.16. unblock_dtmf([flags])
|
|
|
|
|
|
Reverses the effects of a previously issued block_dtmf call. See above
|
|
Reverses the effects of a previously issued block_dtmf call. See above
|
|
for a description of which flags can be used.
|
|
for a description of which flags can be used.
|
|
@@ -3075,13 +3088,13 @@ block_dtmf("address=192.168.42.42");
|
|
unblocking DTMF events for the entire call (i.e. no flags given) will
|
|
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.
|
|
not remove these blocks. The flag “all” can be used to achieve this.
|
|
|
|
|
|
- Example 1.106. unblock_dtmf usage
|
|
|
|
|
|
+ Example 1.107. unblock_dtmf usage
|
|
...
|
|
...
|
|
unblock_dtmf();
|
|
unblock_dtmf();
|
|
unblock_dtmf("all");
|
|
unblock_dtmf("all");
|
|
...
|
|
...
|
|
|
|
|
|
-14.16. block_media([flags])
|
|
|
|
|
|
+14.17. block_media([flags])
|
|
|
|
|
|
Analogous to “block_dtmf”, but blocks media RTP packets instead of DTMF
|
|
Analogous to “block_dtmf”, but blocks media RTP packets instead of DTMF
|
|
events. When media is blocked, DTMF events still pass through the RTP
|
|
events. When media is blocked, DTMF events still pass through the RTP
|
|
@@ -3089,27 +3102,27 @@ unblock_dtmf("all");
|
|
|
|
|
|
See “block_dtmf” for a description of the flags that can be used.
|
|
See “block_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.107. block_media usage
|
|
|
|
|
|
+ Example 1.108. block_media usage
|
|
...
|
|
...
|
|
block_media();
|
|
block_media();
|
|
block_media("directional");
|
|
block_media("directional");
|
|
block_media("address=192.168.42.42");
|
|
block_media("address=192.168.42.42");
|
|
...
|
|
...
|
|
|
|
|
|
-14.17. unblock_media([flags])
|
|
|
|
|
|
+14.18. unblock_media([flags])
|
|
|
|
|
|
Analogous to “unblock_dtmf”, but applies to media RTP packets instead
|
|
Analogous to “unblock_dtmf”, but applies to media RTP packets instead
|
|
of DTMF events.
|
|
of DTMF events.
|
|
|
|
|
|
See “unblock_dtmf” for a description of the flags that can be used.
|
|
See “unblock_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.108. unblock_media usage
|
|
|
|
|
|
+ Example 1.109. unblock_media usage
|
|
...
|
|
...
|
|
unblock_media();
|
|
unblock_media();
|
|
unblock_media("all");
|
|
unblock_media("all");
|
|
...
|
|
...
|
|
|
|
|
|
-14.18. silence_media([flags])
|
|
|
|
|
|
+14.19. silence_media([flags])
|
|
|
|
|
|
Identical to “block_media” except that media RTP packets are not simply
|
|
Identical to “block_media” except that media RTP packets are not simply
|
|
blocked, but instead have their audio payload replaced by silence
|
|
blocked, but instead have their audio payload replaced by silence
|
|
@@ -3118,27 +3131,27 @@ unblock_media("all");
|
|
|
|
|
|
See “block_dtmf” for a description of the flags that can be used.
|
|
See “block_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.109. silence_media usage
|
|
|
|
|
|
+ Example 1.110. silence_media usage
|
|
...
|
|
...
|
|
silence_media();
|
|
silence_media();
|
|
silence_media("directional");
|
|
silence_media("directional");
|
|
silence_media("address=192.168.42.42");
|
|
silence_media("address=192.168.42.42");
|
|
...
|
|
...
|
|
|
|
|
|
-14.19. unsilence_media([flags])
|
|
|
|
|
|
+14.20. unsilence_media([flags])
|
|
|
|
|
|
Identical to “unblock_media” except that it's the counterpart to
|
|
Identical to “unblock_media” except that it's the counterpart to
|
|
“silence_media”.
|
|
“silence_media”.
|
|
|
|
|
|
See “unblock_dtmf” for a description of the flags that can be used.
|
|
See “unblock_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.110. unsilence_media usage
|
|
|
|
|
|
+ Example 1.111. unsilence_media usage
|
|
...
|
|
...
|
|
unsilence_media();
|
|
unsilence_media();
|
|
unsilence_media("all");
|
|
unsilence_media("all");
|
|
...
|
|
...
|
|
|
|
|
|
-14.20. start_forwarding([flags])
|
|
|
|
|
|
+14.21. start_forwarding([flags])
|
|
|
|
|
|
Controls the PCM forwarding feature of the recording daemon. Unlike the
|
|
Controls the PCM forwarding feature of the recording daemon. Unlike the
|
|
recording feature, PCM forwarding can be done directionally for
|
|
recording feature, PCM forwarding can be done directionally for
|
|
@@ -3147,27 +3160,27 @@ unsilence_media("all");
|
|
|
|
|
|
See “block_dtmf” for a description of the flags that can be used.
|
|
See “block_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.111. start_forwarding usage
|
|
|
|
|
|
+ Example 1.112. start_forwarding usage
|
|
...
|
|
...
|
|
start_forwarding();
|
|
start_forwarding();
|
|
start_forwarding("directional");
|
|
start_forwarding("directional");
|
|
start_forwarding("address=192.168.42.42");
|
|
start_forwarding("address=192.168.42.42");
|
|
...
|
|
...
|
|
|
|
|
|
-14.21. stop_forwarding([flags])
|
|
|
|
|
|
+14.22. stop_forwarding([flags])
|
|
|
|
|
|
Analogous to “unblock_dtmf”, but controls the PCM forwarding feature
|
|
Analogous to “unblock_dtmf”, but controls the PCM forwarding feature
|
|
instead of DTMF blocking.
|
|
instead of DTMF blocking.
|
|
|
|
|
|
See “unblock_dtmf” for a description of the flags that can be used.
|
|
See “unblock_dtmf” for a description of the flags that can be used.
|
|
|
|
|
|
- Example 1.112. stop_forwarding usage
|
|
|
|
|
|
+ Example 1.113. stop_forwarding usage
|
|
...
|
|
...
|
|
stop_forwarding();
|
|
stop_forwarding();
|
|
stop_forwarding("all");
|
|
stop_forwarding("all");
|
|
...
|
|
...
|
|
|
|
|
|
-14.22. play_media([flags])
|
|
|
|
|
|
+14.23. play_media([flags])
|
|
|
|
|
|
Instructs rtpengine to play a prerecorded announcement to the selected
|
|
Instructs rtpengine to play a prerecorded announcement to the selected
|
|
call participant, either from a local file or from a file stored in a
|
|
call participant, either from a local file or from a file stored in a
|
|
@@ -3180,25 +3193,25 @@ stop_forwarding("all");
|
|
the duration of the media being played, expressed in milliseconds. If
|
|
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.
|
|
the length of the media could not be determined, it's set to -1.
|
|
|
|
|
|
- Example 1.113. play_media usage
|
|
|
|
|
|
+ Example 1.114. play_media usage
|
|
...
|
|
...
|
|
play_media("file=/use/share/media/hello.wav");
|
|
play_media("file=/use/share/media/hello.wav");
|
|
play_media("from-tag=tfugklbildfydrtuykgfv db-id=12345");
|
|
play_media("from-tag=tfugklbildfydrtuykgfv db-id=12345");
|
|
...
|
|
...
|
|
|
|
|
|
-14.23. stop_media([flags])
|
|
|
|
|
|
+14.24. stop_media([flags])
|
|
|
|
|
|
Stops the playback of media previously started by “play_media”. Media
|
|
Stops the playback of media previously started by “play_media”. Media
|
|
playback is automatically stopped when the end of the media file is
|
|
playback is automatically stopped when the end of the media file is
|
|
reached, so this function is only useful to prematurely stop playback.
|
|
reached, so this function is only useful to prematurely stop playback.
|
|
|
|
|
|
- Example 1.114. stop_media usage
|
|
|
|
|
|
+ Example 1.115. stop_media usage
|
|
...
|
|
...
|
|
stop_media();
|
|
stop_media();
|
|
stop_media("from-tag=5yqaeriguhxcikxj");
|
|
stop_media("from-tag=5yqaeriguhxcikxj");
|
|
...
|
|
...
|
|
|
|
|
|
-14.24. play_dtmf([flags])
|
|
|
|
|
|
+14.25. play_dtmf([flags])
|
|
|
|
|
|
Injects a DTMF event into the media stream. Depending on which codecs
|
|
Injects a DTMF event into the media stream. Depending on which codecs
|
|
were negotiated, this either injects an RFC 2833/4733 DTMF event, or an
|
|
were negotiated, this either injects an RFC 2833/4733 DTMF event, or an
|
|
@@ -3223,7 +3236,7 @@ stop_media("from-tag=5yqaeriguhxcikxj");
|
|
alternative pause length can be given through the “pause” option,
|
|
alternative pause length can be given through the “pause” option,
|
|
between 100 and 5000 ms.
|
|
between 100 and 5000 ms.
|
|
|
|
|
|
- Example 1.115. play_dtmf usage
|
|
|
|
|
|
+ Example 1.116. play_dtmf usage
|
|
...
|
|
...
|
|
play_dtmf("from-tag=5yqaeriguhxcikxj code=#");
|
|
play_dtmf("from-tag=5yqaeriguhxcikxj code=#");
|
|
play_dtmf("code=1 volume=5 duration=300 pause=150");
|
|
play_dtmf("code=1 volume=5 duration=300 pause=150");
|
|
@@ -3241,7 +3254,7 @@ play_dtmf("code=1 volume=5 duration=300 pause=150");
|
|
packet counters. The statistics must be retrieved before the session is
|
|
packet counters. The statistics must be retrieved before the session is
|
|
deleted (before rtpengine_delete()).
|
|
deleted (before rtpengine_delete()).
|
|
|
|
|
|
- Example 1.116. $rtpestat Usage
|
|
|
|
|
|
+ Example 1.117. $rtpestat Usage
|
|
...
|
|
...
|
|
append_hf("X-RTP-Statistics: $rtpestat\r\n");
|
|
append_hf("X-RTP-Statistics: $rtpestat\r\n");
|
|
...
|
|
...
|
|
@@ -3273,7 +3286,7 @@ ackets, 0 errors
|
|
|
|
|
|
The execution of this command is limited to 10 seconds intervals.
|
|
The execution of this command is limited to 10 seconds intervals.
|
|
|
|
|
|
- Example 1.117. rtpengine.reload usage
|
|
|
|
|
|
+ Example 1.118. rtpengine.reload usage
|
|
...
|
|
...
|
|
$ kamcmd rtpengine.reload
|
|
$ kamcmd rtpengine.reload
|
|
...
|
|
...
|
|
@@ -3304,7 +3317,7 @@ $ kamcmd rtpengine.reload
|
|
NOTE: If you specify an IPv6 RTP, the proxy url must be prefixed with
|
|
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.
|
|
:: to escape the :: from the IPv6 address. See the example below.
|
|
|
|
|
|
- Example 1.118. rtpengine.enable usage
|
|
|
|
|
|
+ Example 1.119. rtpengine.enable usage
|
|
...
|
|
...
|
|
$ kamcmd rtpengine.enable udp:192.168.2.133:8081 0
|
|
$ kamcmd rtpengine.enable udp:192.168.2.133:8081 0
|
|
$ kamcmd rtpengine.enable ::udp6:fe80::9a90:96ff:fea8:fd99:9999 1
|
|
$ kamcmd rtpengine.enable ::udp6:fe80::9a90:96ff:fea8:fd99:9999 1
|
|
@@ -3327,7 +3340,7 @@ $ kamcmd rtpengine.enable all 1
|
|
NOTE: When specify the IPv6 RTP proxy url one must prefix it with :: to
|
|
NOTE: When specify the IPv6 RTP proxy url one must prefix it with :: to
|
|
escape the :: from the IPv6 address. See the example below.
|
|
escape the :: from the IPv6 address. See the example below.
|
|
|
|
|
|
- Example 1.119. rtpengine.show usage
|
|
|
|
|
|
+ Example 1.120. rtpengine.show usage
|
|
...
|
|
...
|
|
$ kamcmd rtpengine.show udp:192.168.2.133:8081
|
|
$ kamcmd rtpengine.show udp:192.168.2.133:8081
|
|
$ kamcmd rtpengine.show ::udp6:fe80::9a90:96ff:fea8:fd99:9999
|
|
$ kamcmd rtpengine.show ::udp6:fe80::9a90:96ff:fea8:fd99:9999
|
|
@@ -3347,7 +3360,7 @@ $ kamcmd rtpengine.show all
|
|
NOTE: When specify the IPv6 RTP proxy url one must prefix it with :: to
|
|
NOTE: When specify the IPv6 RTP proxy url one must prefix it with :: to
|
|
escape the :: from the IPv6 address. See the example below.
|
|
escape the :: from the IPv6 address. See the example below.
|
|
|
|
|
|
- Example 1.120. rtpengine.ping usage
|
|
|
|
|
|
+ Example 1.121. rtpengine.ping usage
|
|
...
|
|
...
|
|
$ kamcmd rtpengine.ping udp:192.168.2.133:8081
|
|
$ kamcmd rtpengine.ping udp:192.168.2.133:8081
|
|
$ kamcmd rtpengine.ping ::udp6:fe80::9a90:96ff:fea8:fd99:9999
|
|
$ kamcmd rtpengine.ping ::udp6:fe80::9a90:96ff:fea8:fd99:9999
|
|
@@ -3359,7 +3372,7 @@ $ kamcmd rtpengine.ping all
|
|
Print the total number of hash entries in the hash table at a given
|
|
Print the total number of hash entries in the hash table at a given
|
|
moment.
|
|
moment.
|
|
|
|
|
|
- Example 1.121. rtpengine.get_hash_total usage
|
|
|
|
|
|
+ Example 1.122. rtpengine.get_hash_total usage
|
|
...
|
|
...
|
|
$ kamcmd rtpengine.get_hash_total
|
|
$ kamcmd rtpengine.get_hash_total
|
|
...
|
|
...
|