Re: Specs Autoprovisionierung-Datei ?
Jetzt hab ichs halbwegs zusammen. Vielleicht kann ich anderen die Suche im Heuhaufen etwas abkürzen und skizziere hier meine Minimal-Provisionierung in Eigenregie
Telefon mit Factory Settings booten
Web GUI > Download > download => liefert config-file-1 (factory settings)
Im Web gui Telefon manuell konfigurieren so dass es läuft (nach reboot)
Web GUI > Download > download => liefert config-file-2
Diese Datei enthält nur die geänderten Settings. Bei mir:
config change PHONE SIG /prot SIP /h323 1129*35 /proxy 10.247.0.233 /auth-name 1129*35 /tones 15
vars create PHONE/USER-PWD/00000 pc bc71c0f72285bc17xxxxxxxxxxxxxxxx
mod cmd FLASHDIR0 add-item 101 (cn=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)(type=inmiss)(mode=voice)(time=1552995645)(e164=41)(name=xxxxxxxxxxx)(info=<call clir='0'><peer id='0' time='1552995645' type='setup'/><reg e164='1129*35'/></call>)(guid;bin=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)(usn=1)
mod cmd FLASHDIR0 add-view 102 cn=phone-dir
Die letzten beiden Zeilen sehen nach call history aus, alsow weg damit, dann verbleiben
config change PHONE SIG /prot SIP /h323 1129*35 /proxy 10.247.0.233 /auth-name 1129*35 /tones 15
vars create PHONE/USER-PWD/00000 pc bc71c0f72285bc17xxxxxxxxxxxxxxxx
Wer (wie ich) die verschlüsselten Strings nicht nachvollziehen der ersetzt
vars create PHONE/USER-PWD/00000 pc bc71c0f72285bc17xxxxxxxxxxxxxxxx
durch Klartext
vars create PHONE/USER-PWD/00000 p KLARTEXT
Diese Konfig-Datei dann auf einem http server sichern zB in HTTPHOST:/var/www/ip222-MAC.cfg.
Sie wird beim Booten durch ein Update Skript aufgerufen:
mod cmd UP0 cfg http://HTTPHOST/ip222-MAC.cfg reset 2019-03-19
wobei 2019-03-19 meine willkürliche "Versions-ID" ist anhand der das Telefon entscheiden soll ob seine Konfiguration aktuell ist. Das Update-Skriüt wird abgelegt unter HTTPHOST:/var/www/ip222-MAC.upd
Zuletzt wird der dhcp Server so konfiguriert dass er für option 215 das zur MAC gehörende update Skript liefert. Bei mir für den isc-dhcp-server:
option space innovaphone;
...
"http://HTTPHOST/ip222-",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,1,1))),2),
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,2,1))),2),
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,3,1))),2),
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,4,1))),2),
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,5,1))),2),
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,6,1))),2), ".upd");
Soweit meine minimale Hello-World-Provisionierung. Ich kann am Telefon ein Factory Reset machen, nach 1/2 Minute ist es wieder einsatzbereit.
Telefon mit Factory Settings booten
Web GUI > Download > download => liefert config-file-1 (factory settings)
Im Web gui Telefon manuell konfigurieren so dass es läuft (nach reboot)
Web GUI > Download > download => liefert config-file-2
diff config-file-1 config-file-2 > ip222-MAC.cfg
config change PHONE SIG /prot SIP /h323 1129*35 /proxy 10.247.0.233 /auth-name 1129*35 /tones 15
vars create PHONE/USER-PWD/00000 pc bc71c0f72285bc17xxxxxxxxxxxxxxxx
mod cmd FLASHDIR0 add-item 101 (cn=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)(type=inmiss)(mode=voice)(time=1552995645)(e164=41)(name=xxxxxxxxxxx)(info=<call clir='0'><peer id='0' time='1552995645' type='setup'/><reg e164='1129*35'/></call>)(guid;bin=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)(usn=1)
mod cmd FLASHDIR0 add-view 102 cn=phone-dir
Die letzten beiden Zeilen sehen nach call history aus, alsow weg damit, dann verbleiben
config change PHONE SIG /prot SIP /h323 1129*35 /proxy 10.247.0.233 /auth-name 1129*35 /tones 15
vars create PHONE/USER-PWD/00000 pc bc71c0f72285bc17xxxxxxxxxxxxxxxx
Wer (wie ich) die verschlüsselten Strings nicht nachvollziehen der ersetzt
vars create PHONE/USER-PWD/00000 pc bc71c0f72285bc17xxxxxxxxxxxxxxxx
durch Klartext
vars create PHONE/USER-PWD/00000 p KLARTEXT
Diese Konfig-Datei dann auf einem http server sichern zB in HTTPHOST:/var/www/ip222-MAC.cfg.
Sie wird beim Booten durch ein Update Skript aufgerufen:
mod cmd UP0 cfg http://HTTPHOST/ip222-MAC.cfg reset 2019-03-19
wobei 2019-03-19 meine willkürliche "Versions-ID" ist anhand der das Telefon entscheiden soll ob seine Konfiguration aktuell ist. Das Update-Skriüt wird abgelegt unter HTTPHOST:/var/www/ip222-MAC.upd
Zuletzt wird der dhcp Server so konfiguriert dass er für option 215 das zur MAC gehörende update Skript liefert. Bei mir für den isc-dhcp-server:
option space innovaphone;
...
option innovaphone.update-url code 215 = text;
...
option innovaphone.update-url = concat("http://HTTPHOST/ip222-",
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,1,1))),2),
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,2,1))),2),
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,3,1))),2),
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,4,1))),2),
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,5,1))),2),
suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,6,1))),2), ".upd");
Summary:
- Telefon bootet und schickt dhcp Request mit dhcp option 215
- DHCP response verweist auf HTTPHOST:/var/www/ip222-MAC.upd
- Telefon macht HTTP GET HTTPHOST:/var/www/ip222-MAC.upd
- ip222-MAC.upd verweist auf HTTPHOST:/var/www/ip222-MAC.cfg
- Telefon macht HTTP GET HTTPHOST:/var/www/ip222-MAC.cfg
- Zurück zu step 1 falls das Telefon rebootet, sonst fertig