snom Telefon an Sipgate Team: Gruppenzugehörigkeit via Taste

Wer snom Telefone an einer sipgate Team Anlage hat, möchte vielleicht den Nutzern ermöglichen sich auf Knopfdruck in eine Gruppe ein und auszubuchen.

Wir nutzen dass für Teilzeitmitarbeiter im Homeoffice, damit die Support Gruppe nicht dauernd klingelt. Andere kennen das als nutzergesteuerte Teilnahme an Huntgroups.

Das ganze ist ein bisschen fummelig, daher sei es hier niedergeschrieben.

Unsere config XMLs und Action XMLs liegen auf unserem webserver www.bobbie.de in einem gesicherten verzeichnis. Es tuts aber jeder webserver. Wichtig ist dabei mb_trusted_hosts zu setzten, sonst geht das nicht.

Das generelle Konzept ist, eine zweite Identität (Sipgate Terminologie “weiteres Telefon”) zu nutzen. Diese wird dann bei sipgate in die Gruppen eingetragen (Unter Anschlüsse->Gruppen), und die Hauptidentität ausgeschaltet für die Gruppen. Dann brauch das Telefon noch beide Identitäten, und eine Möglichkeit Identität 2 aus und einzuschalten.

Generelle Einstellungen (muss über provisioning oder dummy.htm gesetzt werden, da gibt es teilweise kein GUI zu):

<phone-settings e="2">
    <mb_trusted_hosts perm="">www.bobbie.de</mb_trusted_hosts>
    <!-- Group Call settings on identity 2 -->
    <!-- Switch Group Identity LED in correct state -->
    <action_setup_url perm="">https://www.bobbie.de/blablaba/enableGroup.xml</action_setup_url>
    <user_realname idx="2" perm="">Gruppe</user_realname>
    <record_missed_calls idx="2" perm="">off</record_missed_calls>
    <record_dialed_calls idx="2" perm="">off</record_dialed_calls>
    <hide_identity idx="2" perm="">true</hide_identity>
</phone-settings>
<functionKeys e="2">
   <fkey idx="1" context="2" label="Gruppe" perm="" lp="on" default_text="$name">url https://www.bobbie.de/blablaba/switchGroupIdentity.xml</fkey>
</functionKeys>

Außerdem natürlich noch die ganzen Einstellungen wie Nutzername, Passwort usw. analog zu Identität 1 aber mit den neuen Zugangsdaten.

 <user_realname idx="1" perm="RW">Alexander Gran</user_realname>
 <user_name idx="1" perm="RW">XXXXXXXe0</user_name>
 <user_pass idx="1" perm="RW">PASSWORD1</user_pass>
 <user_name idx="2" perm="RW">XXXXXXXe15</user_name>
 <user_pass idx="2" perm="RW">PASSWORD2</user_pass

Nun brauchen wir noch zwei scripte auf dem Webserver:

switchGroupIdentity.xml:
<?xml version="1.0" encoding="UTF-8"?>
<SnomIPPhoneText>
<if condition="$(lines:connected)==0">
 <if condition="$(set:user_active2)==on">
 <fetch mil="3000">snom://mb_exit#set:user_active2=off</fetch>
 <If condition="$(arch_series)==snom7XX">
 <led number="6">off</led>
 </If>
 <Else>
 <led number="3">off</led>
 </Else>
 <text>Gruppenteilnahme beendet</text>
 </if>
 <if condition="$(set:user_active2)==off">
 <fetch mil="3000">snom://mb_exit#set:user_active2=on</fetch>
 <If condition="$(arch_series)==snom7XX">
 <led number="6">on</led>
 </If>
 <Else>
 <led number="3">on</led>
 </Else>
 <text>Gruppenteilnahme aktiviert</text>
 </if>
</if>
<else>
 <fetch mil="1000">snom://mb_exit</fetch>
 <If condition="$(arch_series)==snom7XX">
 <led number="6">blink</led>
 </If>
 <Else>
 <led number="3">blink</led>
 </Else>
 <text>Wechsel während Gespräch nicht möglich</text>
</else>
</SnomIPPhoneText>

enableGroup.xml:
<?xml version="1.0" encoding="UTF-8"?>
<SnomIPPhoneText>
 <fetch mil="3000">snom://mb_exit#set:user_active2=on</fetch>
 <If condition="$(arch_series)==snom7XX">
 <led number="6">on</led>
 </If>
 <Else>
 <led number="3">on</led>
 </Else>
 <text>Gruppenteilnahme aktiviert</text>
</SnomIPPhoneText>

Das enableGroup schaltet einfach beim Start die LED auf dem 2. Knopf ein und die Aktivität um. Das switchGroupIdentity wechselt den status der Identität, und signalisiert dies via LED.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.