Skip to content

Commit

Permalink
add dial button
Browse files Browse the repository at this point in the history
  • Loading branch information
Bettman66 committed Mar 13, 2021
1 parent 8c7bc95 commit 8a93a9f
Show file tree
Hide file tree
Showing 5 changed files with 122 additions and 64 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ Ausgänge zu schalten. Für die Selbstgemachte Türsprechstelle, kann jede
Hardware auf der sich Baresip installieren lässt genutzt werden.

## Changelog
### 1.1.4
* (bettman66) add dial button

### 1.1.3
* (bettman66) add test ring buttons

Expand Down
44 changes: 42 additions & 2 deletions io-package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
{
"common": {
"name": "doorio",
"version": "1.1.3",
"version": "1.1.4",
"news": {
"1.1.4": {
"en": "add dial button",
"de": "Wähltaste hinzufügen",
"ru": "добавить кнопку набора",
"pt": "adicionar botão de discagem",
"nl": "kies knop toevoegen",
"fr": "ajouter un bouton de numérotation",
"it": "aggiungere il pulsante di composizione",
"es": "agregar botón de marcación",
"pl": "dodaj przycisk wybierania",
"zh-cn": "添加拨号按钮"
},
"1.1.3": {
"en": "add test ring buttons",
"de": "Testring-Tasten hinzufügen",
Expand Down Expand Up @@ -580,6 +592,34 @@
},
"native": {}
},
{
"_id": "dial",
"type": "state",
"common": {
"name": "dial",
"desc": "",
"type": "boolean",
"role": "button.dial",
"read": true,
"write": true,
"def": false
},
"native": {}
},
{
"_id": "NUMBER",
"type": "state",
"common": {
"name": "NUMBER",
"desc": "",
"type": "string",
"role": "value",
"read": true,
"write": true,
"def": "none"
},
"native": {}
},
{
"_id": "CALLING_NUMBER",
"type": "state",
Expand All @@ -595,4 +635,4 @@
"native": {}
}
]
}
}
83 changes: 44 additions & 39 deletions lib/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,16 @@ function BaresipClient(adapter) {

var dp = (id.split('.'));
if (dp[2] == 'ring1button') { id = adapter.config.ring1 } else
if (dp[2] == 'ring2button') { id = adapter.config.ring2 } else
if (dp[2] == 'ring3button') { id = adapter.config.ring3 } else
if (dp[2] == 'ring4button') { id = adapter.config.ring4 } else
if (dp[2] == 'hangup') { send2baresip('hangup', '') };

if (dp[2] == 'ring2button') { id = adapter.config.ring2 } else
if (dp[2] == 'ring3button') { id = adapter.config.ring3 } else
if (dp[2] == 'ring4button') { id = adapter.config.ring4 } else
if (dp[2] == 'hangup') { send2baresip('hangup', '') } else
if (dp[2] == 'dial') {
adapter.getState('NUMBER', function (err, state) {
var nummer = state.val
if (nummer || '') { send2baresip('dial', nummer) };
})
};
switch (id) {
case (adapter.config.ring1):
adapter.log.debug(id);
Expand Down Expand Up @@ -200,7 +205,7 @@ function BaresipClient(adapter) {
clearTimeout(tout_timeout);
tout_timeout = setTimeout(() => {
tout_timeout = null;
send2baresip('hangup','');
send2baresip('hangup', '');
}, adapter.config.ringtimeout * 1000);
break;
case ('CALL_CLOSED'):
Expand All @@ -226,68 +231,68 @@ function BaresipClient(adapter) {
case ('CALL_INCOMING'):
let callerID = jsonContent.peeruri;
var pos = callerID.indexOf(":");
if (pos >= 0){
if (pos >= 0) {
callerID = callerID.substring(pos + 1);
}
pos = callerID.indexOf("@");
if (pos >= 0){
if (pos >= 0) {
callerID = callerID.substring(0, pos);
}
adapter.log.debug('incoming call from:' + callerID);
adapter.setState('CALLING_NUMBER', callerID, true);
let inWL = false;
if (adapter.config.wlautoanswer){
if (adapter.config.wlautoanswer) {
adapter.log.debug('Autoanswer active');
}else{
} else {
adapter.log.debug('Autoanswer not active');
if (adapter.config.wleverynumber){
if (adapter.config.wleverynumber) {
adapter.log.debug('every number active');
inWL = true;
}else{
} else {
adapter.log.debug('every number not active, checking for Whitelistnumber');
if (callerID.indexOf(adapter.config.wlnumber1) >= 0 && adapter.config.wlnumber1.length > 0) {
adapter.log.debug('matches whitelist number 1');
inWL = true;
}else{
adapter.log.debug('matches not whitelist number 1');
adapter.log.debug('matches whitelist number 1');
inWL = true;
} else {
adapter.log.debug('matches not whitelist number 1');
}
if (callerID.indexOf(adapter.config.wlnumber2) >= 0 && adapter.config.wlnumber2.length > 0) {
adapter.log.debug('matches whitelist number 2');
inWL = true;
}else{
adapter.log.debug('matches not whitelist number 2');
adapter.log.debug('matches whitelist number 2');
inWL = true;
} else {
adapter.log.debug('matches not whitelist number 2');
}
if (callerID.indexOf(adapter.config.wlnumber3) >= 0 && adapter.config.wlnumber3.length > 0) {
adapter.log.debug('matches whitelist number 3');
inWL = true;
}else{
adapter.log.debug('matches not whitelist number 3');
adapter.log.debug('matches whitelist number 3');
inWL = true;
} else {
adapter.log.debug('matches not whitelist number 3');
}
if (callerID.indexOf(adapter.config.wlnumber4) >= 0 && adapter.config.wlnumber4.length > 0) {
adapter.log.debug('matches whitelist number 4');
inWL = true;
}else{
adapter.log.debug('matches not whitelist number 4');
adapter.log.debug('matches whitelist number 4');
inWL = true;
} else {
adapter.log.debug('matches not whitelist number 4');
}
if (callerID.indexOf(adapter.config.wlnumber5) >= 0 && adapter.config.wlnumber5.length > 0) {
adapter.log.debug('matches whitelist number 5');
inWL = true;
}else{
adapter.log.debug('matches not whitelist number 5');
adapter.log.debug('matches whitelist number 5');
inWL = true;
} else {
adapter.log.debug('matches not whitelist number 5');
}
if (callerID.indexOf(adapter.config.wlnumber6) >= 0 && adapter.config.wlnumber6.length > 0) {
adapter.log.debug('matches whitelist number 6');
inWL = true;
}else{
adapter.log.debug('matches not whitelist number 6');
adapter.log.debug('matches whitelist number 6');
inWL = true;
} else {
adapter.log.debug('matches not whitelist number 6');
}
}
}
if (inWL){
if (inWL) {
adapter.log.debug('picking up call');
send2baresip('accept','');
send2baresip('accept', '');
}
break;
break;
}
} catch (err) {
adapter.log.debug(err);
Expand Down
54 changes: 32 additions & 22 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "iobroker.doorio",
"version": "1.1.3",
"version": "1.1.4",
"description": "doorio",
"author": "bettman66 <[email protected]>",
"contributors": [
Expand Down

0 comments on commit 8a93a9f

Please sign in to comment.