pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/docker-playground/+/37494?usp=email )
Change subject: ttcn3-asterisk: extensions.conf: Reject calls if all SIP UAs busy in call
......................................................................
ttcn3-asterisk: extensions.conf: Reject calls if all SIP UAs busy in call
Before this patch, asterisk would ring on local SIP UAs already in a
call, which is not the expected behavior for this project.
Related: SYS#7003
Change-Id: Id9e3ead6e28a53793c6cceb6f23d5e6d987521d8
---
M ttcn3-asterisk-ims-ue-test/asterisk/extensions.conf
1 file changed, 22 insertions(+), 10 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/94/37494/1
diff --git a/ttcn3-asterisk-ims-ue-test/asterisk/extensions.conf
b/ttcn3-asterisk-ims-ue-test/asterisk/extensions.conf
index 5688153..e02152f 100644
--- a/ttcn3-asterisk-ims-ue-test/asterisk/extensions.conf
+++ b/ttcn3-asterisk-ims-ue-test/asterisk/extensions.conf
@@ -6,15 +6,15 @@
same => n,Set(ENDPOINT_2_STATE=${DEVICE_STATE(PJSIP/0502)})
same => n,Set(ENDPOINT_3_STATE=${DEVICE_STATE(PJSIP/0503)})
same => n,Set(ENDPOINT_4_STATE=${DEVICE_STATE(PJSIP/0504)})
- same => n,Set(ENDPOINT_1_EXPR=$[$["${ENDPOINT_1_STATE}" =
"UNAVAILABLE"] | $["${ENDPOINT_1_STATE}" = "UNKNOWN"] |
$["${ENDPOINT_1_STATE}" = "INVALID"]])
- same => n,Set(ENDPOINT_2_EXPR=$[$["${ENDPOINT_2_STATE}" =
"UNAVAILABLE"] | $["${ENDPOINT_2_STATE}" = "UNKNOWN"] |
$["${ENDPOINT_2_STATE}" = "INVALID"]])
- same => n,Set(ENDPOINT_3_EXPR=$[$["${ENDPOINT_3_STATE}" =
"UNAVAILABLE"] | $["${ENDPOINT_3_STATE}" = "UNKNOWN"] |
$["${ENDPOINT_3_STATE}" = "INVALID"]])
- same => n,Set(ENDPOINT_4_EXPR=$[$["${ENDPOINT_4_STATE}" =
"UNAVAILABLE"] | $["${ENDPOINT_4_STATE}" = "UNKNOWN"] |
$["${ENDPOINT_4_STATE}" = "INVALID"]])
+ same => n,Set(ENDPOINT_1_EXPR=$[$["${ENDPOINT_1_STATE}" =
"NOT_INUSE"] | $["${ENDPOINT_1_STATE}" = "ONHOLD"]])
+ same => n,Set(ENDPOINT_2_EXPR=$[$["${ENDPOINT_2_STATE}" =
"NOT_INUSE"] | $["${ENDPOINT_2_STATE}" = "ONHOLD"]])
+ same => n,Set(ENDPOINT_3_EXPR=$[$["${ENDPOINT_3_STATE}" =
"NOT_INUSE"] | $["${ENDPOINT_3_STATE}" = "ONHOLD"]])
+ same => n,Set(ENDPOINT_4_EXPR=$[$["${ENDPOINT_4_STATE}" =
"NOT_INUSE"] | $["${ENDPOINT_4_STATE}" = "ONHOLD"]])
same => n,Set(DIALGROUP(CALL_VALID_LIST)=) ; clear list
- same => n,ExecIf($[${ENDPOINT_1_EXPR} =
0]?Set(DIALGROUP(CALL_VALID_LIST,add)=PJSIP/0501))
- same => n,ExecIf($[${ENDPOINT_2_EXPR} =
0]?Set(DIALGROUP(CALL_VALID_LIST,add)=PJSIP/0502))
- same => n,ExecIf($[${ENDPOINT_3_EXPR} =
0]?Set(DIALGROUP(CALL_VALID_LIST,add)=PJSIP/0503))
- same => n,ExecIf($[${ENDPOINT_4_EXPR} =
0]?Set(DIALGROUP(CALL_VALID_LIST,add)=PJSIP/0504))
+ same => n,ExecIf($[${ENDPOINT_1_EXPR} !=
0]?Set(DIALGROUP(CALL_VALID_LIST,add)=PJSIP/0501))
+ same => n,ExecIf($[${ENDPOINT_2_EXPR} !=
0]?Set(DIALGROUP(CALL_VALID_LIST,add)=PJSIP/0502))
+ same => n,ExecIf($[${ENDPOINT_3_EXPR} !=
0]?Set(DIALGROUP(CALL_VALID_LIST,add)=PJSIP/0503))
+ same => n,ExecIf($[${ENDPOINT_4_EXPR} !=
0]?Set(DIALGROUP(CALL_VALID_LIST,add)=PJSIP/0504))
same => n,Return(${DIALGROUP(CALL_VALID_LIST)})
[from-phone]
@@ -44,10 +44,9 @@
exten => _.!,1,Verbose(5,${EXTEN}: Call internal number from ${CALLERID(num)})
same => n,Set(GROUP()=IMSgroup)
same => n,GotoIf($[${GROUP_COUNT(IMSgroup)} > 1]?999)
- same => n,WaitForPrecondition(10,2000);
same => n,Gosub(get-valid-endpoints,s,1())
same => n,Set(DIALGROUP(CALL_EVERYONE_LIST)=${GOSUB_RETVAL})
- same => n,Set(DIALGROUP(CALL_EVERYONE_LIST,del)=PJSIP/${CALLERID(num)}) ; remove the
caller
+ same => n,WaitForPrecondition(10,2000)
same => n,Dial(${DIALGROUP(CALL_EVERYONE_LIST)})
same => n,Hangup(16)
same => 999,Verbose(1,${EXTEN}: VoLTE client already busy (${GROUP_COUNT(IMSgroup)})
rejecting call from IMS ${CALLERID(num)})
--
To view, visit
https://gerrit.osmocom.org/c/docker-playground/+/37494?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: Id9e3ead6e28a53793c6cceb6f23d5e6d987521d8
Gerrit-Change-Number: 37494
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange