[-]
Szybkie szukanie


Baner sklepu jdtech.pl
Odpowiedz 
 
Ocena wątku:
  • 1 Głosów - 5 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
HiLink API dla urządzeń Huawei
31-01-2015, 17:25 (Ten post był ostatnio modyfikowany: 31-01-2015 23:59 przez VipeRsan.)
Post: #11
HiLink API dla urządzeń Huawei
2. Strony API - żądania i odpowiedzi - cd.
  • Moduł sntp

    Sprawdzenie stanu SNTP
    • url: http://192.168.8.1/api/sntp/sntpswitch
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <SntpSwitch></SntpSwitch>
      </response>
    • Uwagi: brak

    Zmiana stanu SNTP
    • url: http://192.168.8.1/api/sntp/sntpswitch
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <SntpSwitch></SntpSwitch>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak
  • Moduł STK

    Menu główne SIM ToolKit (STK)
    • url: http://192.168.8.1/api/stk/stk-get-main
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <CmdType></CmdType>
          <CmdIndex></CmdIndex>
          <Result>15</Result>
          <DataType></DataType>
          <Data></Data>
          <MenuLevel></MenuLevel>
          <PageIndex></PageIndex>
          <ReadCount></ReadCount>
          <IsJumpPage></IsJumpPage>
      </request>
    • odpowiedź:
      Kod:
      <response>
          <STKData>
              <Field>
                  <Value></Value>
                  <Name></Name>
              </Field>
              <TextInfo></TextInfo>
              <TextFormat></TextFormat>
              <RspFormat></RspFormat>
              <ClearMode></ClearMode>
              <DurationTime></DurationTime>
              <SizeMax></SizeMax>
              <SizeMin></SizeMin>
              <PackMode></PackMode>
          </STKData>
          <DataTotal></DataTotal>
          <CmdType></CmdType>
          <CmdIndex></CmdIndex>
      </response>
    • Uwagi:
      • CmdType:
        • 0 - menu ustawień?
        • 1 - wyświetl tekst?
        • 2 - pobierz inkey?
        • 3 - pobierz wejście?
        • 4 - ustawienia połączeń?
        • 5 - odtwórz dźwięk?
        • 6 - zaznacz wybór?
        • 7 - odśwież?
        • 8 - wyślij SS?
        • 9 - wyślij SMS?
        • 10 - wyślij USSD?
        • 11 - uruchom przeglądarkę?
        • 12 - ustaw tekst trybu czuwania?
        • 99 - koniec sesji?
      • DataType:
        • 1 - typ danych - liczbowe
        • 2 - typ danych - ciąg znaków
        • 15 - typ danych - dowolne/bez znaczenia
      • RspFormat:
        • 0 - GSM7 (dla CmdType: 2 i 3)
        • 1 - tak/nie (dla CmdType: 2)
        • 2 - liczbowy (0-9,*,#,+) (dla CmdType: 2 i 3)
        • 3 - UCS2 (dla CmdType: 2 i 3)
      • Result:
        • 0 - koniec sesji
        • 1 - funkcja wykonana poprawnie (OK)
        • 2 - wymagana pomoc?
        • 3 - powrót do poprzedniego menu
        • 4 - brak wsparcia dla funkcji
        • 15 - bez znaczenia/dowolna

    Menu podrzędne SIM ToolKit (STK)
    • url: http://192.168.8.1/api/stk/stk-get-sub
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <CmdType></CmdType>
          <CmdIndex></CmdIndex>
          <Result>15</Result>
          <DataType></DataType>
          <Data></Data>
          <MenuLevel></MenuLevel>
          <PageIndex></PageIndex>
          <ReadCount></ReadCount>
          <IsJumpPage></IsJumpPage>
      </request>
    • odpowiedź:
      Kod:
      <response>
          <STKData>
              <Field>
                  <Value></Value>
                  <Name></Name>
              </Field>
              <TextInfo></TextInfo>
              <TextFormat></TextFormat>
              <RspFormat></RspFormat>
              <ClearMode></ClearMode>
              <DurationTime></DurationTime>
              <SizeMax></SizeMax>
              <SizeMin></SizeMin>
              <PackMode></PackMode>
          </STKData>
          <DataTotal></DataTotal>
          <CmdType></CmdType>
          <CmdIndex></CmdIndex>
      </response>
    • Uwagi:
      • CmdType:
        • 0 - menu ustawień?
        • 1 - wyświetl tekst?
        • 2 - pobierz inkey?
        • 3 - pobierz wejście?
        • 4 - ustawienia połączeń?
        • 5 - odtwórz dźwięk?
        • 6 - zaznacz wybór?
        • 7 - odśwież?
        • 8 - wyślij SS?
        • 9 - wyślij SMS?
        • 10 - wyślij USSD?
        • 11 - uruchom przeglądarkę?
        • 12 - ustaw tekst trybu czuwania?
        • 99 - koniec sesji?
      • DataType:
        • 1 - typ danych - liczbowe
        • 2 - typ danych - ciąg znaków
        • 15 - typ danych - dowolne/bez znaczenia
      • RspFormat:
        • 0 - GSM7 (dla CmdType: 2 i 3)
        • 1 - tak/nie (dla CmdType: 2)
        • 2 - liczbowy (0-9,*,#,+) (dla CmdType: 2 i 3)
        • 3 - UCS2 (dla CmdType: 2 i 3)
      • Result:
        • 0 - koniec sesji
        • 1 - funkcja wykonana poprawnie (OK)
        • 2 - wymagana pomoc?
        • 3 - powrót do poprzedniego menu
        • 4 - brak wsparcia dla funkcji
        • 15 - bez znaczenia/dowolna

    Sprawdzenie czy nie przekroczono czasu zapytania STK
    • url: http://192.168.8.1/api/stk/stk-query
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <IsTimeout></IsTimeout>
      </response>
    • Uwagi: brak
  • Moduł user

    Wylogowanie użytkownika
    • url: http://192.168.8.1/api/user/logout
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <Logout>1</Logout>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Zmiana hasła admina
    • url: http://192.168.8.1/api/user/password
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <Username>admin</Username>
          <CurrentPassword></CurrentPassword>
          <NewPassword></NewPassword>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: CurrentPassword i NewPassword w kodowaniu base64

    Sprawdzenie stanu przypomnienia o zmianie hasła?
    • url: http://192.168.8.1/api/user/remind
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <remindstate></remindstate>
      </response>
    • Uwagi: brak

    Przypomnienie o zmianie hasła?
    • url: http://192.168.8.1/api/user/remind
    • metoda: GET
    • żądanie:
      Kod:
      <request>
          <remindstate></remindstate>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Wysłanie podtrzymania sesji?
    • url: http://192.168.8.1/api/user/session
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <keep>1</keep>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Pobranie informacji o zalogowanym użytkowniku
    • url: http://192.168.8.1/api/user/state-login
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <State></State>
      </response>
    • Uwagi:
      • State:
        • 0 - zalogowany
        • 1 - błąd
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
31-01-2015, 17:26 (Ten post był ostatnio modyfikowany: 31-01-2015 23:59 przez VipeRsan.)
Post: #12
HiLink API dla urządzeń Huawei
2. Strony API - żądania i odpowiedzi - cd.
  • Moduł USSD

    Odebranie wiadomości USSD
    • url: http://192.168.8.1/api/ussd/get
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <content></content>
      </response>
    • Uwagi: Wysyłanie i odbieranie wymaga sieci co najwyżej 3G. Tak więc chcąc wysłać USSD z LTE potrzeba albo mieć wybraną sieć Preferowana LTE (wtedy z automatu modem przełączy się na niższą sieć 3G lub 2G w celu wysłania i odebrania wiadomości USSD) albo ręcznie przełączyć na sieć typu niższego (2G lub 3G)

    Zwolnienie wiadomości USSD (gdy status USSD result=1)
    • url: http://192.168.8.1/api/ussd/release
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: result równe 1 - USSD w toku

    Wysyłanie kodów USSD
    • url: http://192.168.8.1/api/ussd/send
    • metoda: POST
    • żądanie skrócone:
      Kod:
      <request>
          <content></content>
      </request>
    • żądanie pełne:
      Kod:
      <request>
          <content></content>
          <codeType></codeType>
          <timeout></timeout>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: content powinien zwierać kod USSD np. *101*#. Wysyłanie i odbieranie wymaga sieci co najwyżej 3G. Tak więc chcąc wysłać USSD z LTE potrzeba albo mieć wybraną sieć Preferowana LTE (wtedy z automatu modem przełączy się na niższą sieć 3G lub 2G w celu wysłania i odebrania wiadomości USSD) albo ręcznie przełączyć na sieć typu niższego (2G lub 3G)

    Sprawdzenie statusu wiadomości USSD
    • url: http://192.168.8.1/api/ussd/status
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <result></result>
      </response>
    • Uwagi: Jeżeli result = 1 - USSD w toku
  • Moduł voice

    Dodanie nowego konta sip
    • url: http://192.168.8.1/api/voice/addsipaccount
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <account>
              <directorynumber></directorynumber>
              <username></username>
              <password></password>
              <registerstatus></registerstatus>
          </account>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Pobranie listy kodeków audio
    • url: http://192.168.8.1/api/voice/codec
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <codec>
              <codec></codec>
              <priority></priority>
              <index></index>
              <silencesuppression></silencesuppression>
              <packetizationperiod></packetizationperiod>
          </codec>
          <codec>
              ...
          </codec>
          ...
      </response>
    • Uwagi: brak

    Ustawienie kodeków audio
    • url: http://192.168.8.1/api/voice/codec
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <codec>
              <codec></codec>
              <priority></priority>
              <index></index>
              <silencesuppression></silencesuppression>
              <packetizationperiod></packetizationperiod>
          </codec>
          <codec>
              ...
          </codec>
          ...
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Usunięcie konta sip
    • url: http://192.168.8.1/api/voice/deletesipaccount
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <index></index>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Pobranie konfiguracji konta sip
    • url: http://192.168.8.1/api/voice/sipaccount
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <account>
              <index></index>
              <directorynumber></directorynumber>
              <username></username>
              <password></password>
              <registerstatus></registerstatus>
          </account>
      </response>
    • Uwagi: brak

    Ustawienie konfiguracji konta sip?
    • url: http://192.168.8.1/api/voice/sipaccount
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <account>
              <index></index>
              <directorynumber></directorynumber>
              <username></username>
              <password></password>
              <registerstatus></registerstatus>
          </account>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Pobranie ustawień zaawansowanych sip
    • url: http://192.168.8.1/api/voice/sipadvance
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <registerexpires></registerexpires>
          <sessionexpires></sessionexpires>
          <minisessionexpires></minisessionexpires>
          <pracksupport></pracksupport>
          <callwaitingenable></callwaitingenable>
      </response>
    • Uwagi: brak

    Ustawienia zaawansowane sip
    • url: http://192.168.8.1/api/voice/sipadvance
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <registerexpires></registerexpires>
          <sessionexpires></sessionexpires>
          <minisessionexpires></minisessionexpires>
          <pracksupport></pracksupport>
          <callwaitingenable></callwaitingenable>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Pobranie ustawień serwera sip
    • url: http://192.168.8.1/api/voice/sipserver
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <sipserver>
              <proxyserveraddress></proxyserveraddress>
              <proxyserverport></proxyserverport>
              <registerserveraddress></registerserveraddress>
              <registerserverport></registerserverport>
              <sipserverdomain></sipserverdomain>
              <secondproxyserveraddress></secondproxyserveraddress>
              <secondproxyserverport></secondproxyserverport>
              <secondregisterserveraddress></secondregisterserveraddress>
              <secondregisterserverport></secondregisterserverport>
              <secondsipserverdomain></secondsipserverdomain>
          </sipserver>
      </response>
    • Uwagi: brak

    Ustawienie serwera sip
    • url: http://192.168.8.1/api/voice/sipserver
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <sipserver>
              <proxyserveraddress></proxyserveraddress>
              <proxyserverport></proxyserverport>
              <registerserveraddress></registerserveraddress>
              <registerserverport></registerserverport>
              <sipserverdomain></sipserverdomain>
              <secondproxyserveraddress></secondproxyserveraddress>
              <secondproxyserverport></secondproxyserverport>
              <secondregisterserveraddress></secondregisterserveraddress>
              <secondregisterserverport></secondregisterserverport>
              <secondsipserverdomain></secondsipserverdomain>
          </sipserver>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Sprawdzenie numerów szybkiego wybierania
    • url: http://192.168.8.1/api/voice/speeddial
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <speeddial>
              <index></index>
              <quicknumber></quicknumber>
              <destination></destination>
              <description></description>
          </speeddial>
          <speeddial>
              ...
          </speeddial>
      </response>
    • Uwagi: brak

    Ustawienie numerów szybkiego wybierania
    • url: http://192.168.8.1/api/voice/speeddial
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <speeddial>
              <index></index>
              <quicknumber></quicknumber>
              <destination></destination>
              <description></description>
          </speeddial>
          <speeddial>
              ...
          </speeddial>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Pobranie zaawansowanych ustawień połączenia głosowego
    • url: http://192.168.8.1/api/voice/voiceadvance
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <region></region>
          <dtmfmethod></dtmfmethod>
          <faxoption></faxoption>
          <outgoinglist></outgoinglist>
          <rtpportmin></rtpportmin>
          <inerdigitimershort></inerdigitimershort>
          <startdigittimerstd></startdigittimerstd>
          <unresponseinterval></unresponseinterval>
          <busytonetime></busytonetime>
          <howltonetime></howltonetime>
          <enablesharpkey></enablesharpkey>
          <clipenable></clipenable>
      </response>
    • Uwagi: brak

    Ustawienia zaawansowane połączenia głosowego
    • url: http://192.168.8.1/api/voice/voiceadvance
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <region></region>
          <dtmfmethod></dtmfmethod>
          <faxoption></faxoption>
          <outgoinglist></outgoinglist>
          <rtpportmin></rtpportmin>
          <inerdigitimershort></inerdigitimershort>
          <startdigittimerstd></startdigittimerstd>
          <unresponseinterval></unresponseinterval>
          <busytonetime></busytonetime>
          <howltonetime></howltonetime>
          <enablesharpkey></enablesharpkey>
          <clipenable></clipenable>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak
  • Moduł webserver

    Pobranie tokena
    • url: http://192.168.8.1/api/webserver/token
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <token></token>
      </response>
    • Uwagi: brak
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
31-01-2015, 17:27 (Ten post był ostatnio modyfikowany: 31-01-2015 23:59 przez VipeRsan.)
Post: #13
HiLink API dla urządzeń Huawei
2. Strony API - żądania i odpowiedzi - cd.
  • Moduł WLAN

    Pobranie informacji o podstawowych ustawieniach WLAN
    • url: http://192.168.8.1/api/wlan/basic-settings
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <WifiSsid></WifiSsid>
          <WifiHide></WifiHide>
          <WifiRestart></WifiRestart>
          <WifiCountry></WifiCountry>
          <WifiChannel></WifiChannel>
          <WifiMode></WifiMode>
          <Wifioffenable></Wifioffenable>
          <WifiIsolationBetween></WifiIsolationBetween>
          <WifiIsolate></WifiIsolate>
          <Wifiofftime></Wifiofftime>
          <wifibandwidth></wifibandwidth>
          <wifiautocountryswitch></wifiautocountryswitch>
          <WifiEnable></WifiEnable>
      </response>
    • Uwagi:
      • WifiMode:
      • a - standard 802.11a
        • a/n - standard 802.11a/n
        • a/n/ac - standard 802.11a/n/ac
        • b/g/n - standard 802.11b/g/n
      • dialmode:
        • 0 - automatyczny
        • 1 - Na żądanie

    Zmiana podstawowych ustawień WLAN
    • url: http://192.168.8.1/api/wlan/basic-settings
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <WifiSsid></WifiSsid>
          <WifiHide></WifiHide>
          <WifiRestart></WifiRestart>
          <WifiCountry></WifiCountry>
          <WifiChannel></WifiChannel>
          <WifiMode></WifiMode>
          <Wifioffenable></Wifioffenable>
          <WifiIsolationBetween></WifiIsolationBetween>
          <WifiIsolate></WifiIsolate>
          <Wifiofftime></Wifiofftime>
          <wifibandwidth></wifibandwidth>
          <wifiautocountryswitch></wifiautocountryswitch>
          <WifiEnable></WifiEnable>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi:
      • WifiMode:
      • a - standard 802.11a
        • a/n - standard 802.11a/n
        • a/n/ac - standard 802.11a/n/ac
        • b/g/n - standard 802.11b/g/n
      • dialmode:
        • 0 - automatyczny
        • 1 - Na żądanie

    Pobranie informacji o połączeniu?
    • url: http://192.168.8.1/api/wlan/handover-setting
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <Handover></Handover>
      </response>
    • Uwagi:
      • Handover:
        • 0 - preferowane 3G (G3?)
        • 2 - preferowane WiFi

    Ustawienia połączenia?
    • url: http://192.168.8.1/api/wlan/handover-setting
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <Handover></Handover>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi:
      • Handover:
        • 0 - preferowane 3G (G3?)
        • 2 - preferowane WiFi

    Sprawdzenie podłączonych do WiFi hostów
    • url: http://192.168.8.1/api/wlan/host-list
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <Hosts>
              <Host>
                  <AssociatedSsid></AssociatedSsid>
                  <AssociatedTime></AssociatedTime>
                  <ID></ID>
                  <IpAddress></IpAddress>
                  <HostName></HostName>
                  <MacAddress></MacAddress>
              </Host>
              <Host>
                  ...
              </Host>
              ...
          </Hosts>
      </response>
    • Uwagi: brak

    Pobranie listy filtrów po adresie MAC
    • url: http://192.168.8.1/api/wlan/mac-filter
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <WifiMacFilterMac0></WifiMacFilterMac0>
          <WifiMacFilterMac1></WifiMacFilterMac1>
          <WifiMacFilterMac2></WifiMacFilterMac2>
          <WifiMacFilterMac3></WifiMacFilterMac3>
          <WifiMacFilterMac4></WifiMacFilterMac4>
          <WifiMacFilterMac5></WifiMacFilterMac5>
          <WifiMacFilterMac6></WifiMacFilterMac6>
          <WifiMacFilterMac7></WifiMacFilterMac7>
          <WifiMacFilterMac8></WifiMacFilterMac8>
          <WifiMacFilterMac9></WifiMacFilterMac9>
          <WifiMacFilterStatus></WifiMacFilterStatus>
      </response>
    • Uwagi: brak

    Ustawienie listy filtrów po adresie MAC
    • url: http://192.168.8.1/api/wlan/mac-filter
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <WifiMacFilterMac0></WifiMacFilterMac0>
          <WifiMacFilterMac1></WifiMacFilterMac1>
          <WifiMacFilterMac2></WifiMacFilterMac2>
          <WifiMacFilterMac3></WifiMacFilterMac3>
          <WifiMacFilterMac4></WifiMacFilterMac4>
          <WifiMacFilterMac5></WifiMacFilterMac5>
          <WifiMacFilterMac6></WifiMacFilterMac6>
          <WifiMacFilterMac7></WifiMacFilterMac7>
          <WifiMacFilterMac8></WifiMacFilterMac8>
          <WifiMacFilterMac9></WifiMacFilterMac9>
          <WifiMacFilterStatus></WifiMacFilterStatus>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Sprawdzenie ustawień podstawowych WiFi multi SSID
    • url: http://192.168.8.1/api/wlan/multi-basic-settings
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <Ssids>
              <Ssid>
                  <WifiSsid></WifiSsid>
                  <WifiBroadcast></WifiBroadcast>
                  <WifiWpaencryptionmodes></WifiWpaencryptionmodes>
                  <WifiWpapsk></WifiWpapsk>
                  <WifiWepKey1></WifiWepKey1>
                  <WifiWepKey2></WifiWepKey2>
                  <WifiWepKey3></WifiWepKey3>
                  <WifiWepKey4></WifiWepKey4>
                  <WifiWepKeyIndex></WifiWepKeyIndex>
                  <WifiIsolate></WifiIsolate>
                  <wifitotalswitch></wifitotalswitch>
                  <WifiEnable></WifiEnable>
                  <WifiAuthmode></WifiAuthmode>
                  <WifiBasicencryptionmodes></WifiBasicencryptionmodes>
                  <WifiMacFilterMac0></WifiMacFilterMac0>
                  <WifiMacFilterMac1></WifiMacFilterMac1>
                  <WifiMacFilterMac2></WifiMacFilterMac2>
                  <WifiMacFilterMac3></WifiMacFilterMac3>
                  <WifiMacFilterMac4></WifiMacFilterMac4>
                  <WifiMacFilterMac5></WifiMacFilterMac5>
                  <WifiMacFilterMac6></WifiMacFilterMac6>
                  <WifiMacFilterMac7></WifiMacFilterMac7>
                  <WifiMacFilterMac8></WifiMacFilterMac8>
                  <WifiMacFilterMac9></WifiMacFilterMac9>
                  <WifiMacFilterStatus></WifiMacFilterStatus>
              </Ssid>
              <Ssid>
                  ...
              </Ssid>
              ...
          </Ssids>
      </response>
    • Uwagi:
      • WifiBasicencryptionmodes:
        • NONE - brak szyfrowania
        • WEP - szyfrowanie WEP
        • WEP64 - szyfrowanie WEP 64 bit
        • WEP128 - szyfrowanie WEP 128 bit
      • WifiWpaencryptionmodes:
        • AES - szyfrowanie AES
        • MIX - szyfrowanie mieszane
      • WifiAuthmode:
        • AUTO - autoryzacja automatyczna
        • OPEN - autoryzacja sieć otwarta
        • SHARE - autoryzacja sieć udostępniona
        • WEP - autoryzacja - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA/WPA2-PSK

    Ustawienia podstawowe WiFi multi SSID
    • url: http://192.168.8.1/api/wlan/multi-basic-settings
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <Ssids>
              <Ssid>
                  <WifiSsid></WifiSsid>
                  <WifiBroadcast></WifiBroadcast>
                  <WifiWpaencryptionmodes></WifiWpaencryptionmodes>
                  <WifiWpapsk></WifiWpapsk>
                  <WifiWepKey1></WifiWepKey1>
                  <WifiWepKey2></WifiWepKey2>
                  <WifiWepKey3></WifiWepKey3>
                  <WifiWepKey4></WifiWepKey4>
                  <WifiWepKeyIndex></WifiWepKeyIndex>
                  <WifiIsolate></WifiIsolate>
                  <wifitotalswitch></wifitotalswitch>
                  <WifiEnable></WifiEnable>
                  <WifiAuthmode></WifiAuthmode>
                  <WifiBasicencryptionmodes></WifiBasicencryptionmodes>
                  <WifiMacFilterMac0></WifiMacFilterMac0>
                  <WifiMacFilterMac1></WifiMacFilterMac1>
                  <WifiMacFilterMac2></WifiMacFilterMac2>
                  <WifiMacFilterMac3></WifiMacFilterMac3>
                  <WifiMacFilterMac4></WifiMacFilterMac4>
                  <WifiMacFilterMac5></WifiMacFilterMac5>
                  <WifiMacFilterMac6></WifiMacFilterMac6>
                  <WifiMacFilterMac7></WifiMacFilterMac7>
                  <WifiMacFilterMac8></WifiMacFilterMac8>
                  <WifiMacFilterMac9></WifiMacFilterMac9>
                  <WifiMacFilterStatus></WifiMacFilterStatus>
              </Ssid>
              <Ssid>
                  ...
              </Ssid>
              ...
          </Ssids>
          <WifiRestart>0</WifiRestart>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi:
      • WifiBasicencryptionmodes:
        • NONE - brak szyfrowania
        • WEP - szyfrowanie WEP
        • WEP64 - szyfrowanie WEP 64 bit
        • WEP128 - szyfrowanie WEP 128 bit
      • WifiWpaencryptionmodes:
        • AES - szyfrowanie AES
        • MIX - szyfrowanie mieszane
      • WifiAuthmode:
        • AUTO - autoryzacja automatyczna
        • OPEN - autoryzacja sieć otwarta
        • SHARE - autoryzacja sieć udostępniona
        • WEP - autoryzacja - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA/WPA2-PSK

    Pobranie listy filtrów po adresie MAC dla multi-SSID
    • url: http://192.168.8.1/api/wlan/multi-macfilter-settings
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <Ssids>
              <Ssid>
                  <WifiMacFilterMac0></WifiMacFilterMac0>
                  <WifiMacFilterMac1></WifiMacFilterMac1>
                  <WifiMacFilterMac2></WifiMacFilterMac2>
                  <WifiMacFilterMac3></WifiMacFilterMac3>
                  <WifiMacFilterMac4></WifiMacFilterMac4>
                  <WifiMacFilterMac5></WifiMacFilterMac5>
                  <WifiMacFilterMac6></WifiMacFilterMac6>
                  <WifiMacFilterMac7></WifiMacFilterMac7>
                  <WifiMacFilterMac8></WifiMacFilterMac8>
                  <WifiMacFilterMac9></WifiMacFilterMac9>
                  <WifiMacFilterStatus></WifiMacFilterStatus>
              </Ssid>
              <Ssid>
                  ...
              </Ssid>
              ...
          </Ssids>
      </response>
    • Uwagi: brak

    Ustawienie listy filtrów po adresie MAC dla multi-SSID
    • url: http://192.168.8.1/api/wlan/multi-macfilter-settings
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <Ssids>
              <Ssid>
                  <WifiMacFilterMac0></WifiMacFilterMac0>
                  <WifiMacFilterMac1></WifiMacFilterMac1>
                  <WifiMacFilterMac2></WifiMacFilterMac2>
                  <WifiMacFilterMac3></WifiMacFilterMac3>
                  <WifiMacFilterMac4></WifiMacFilterMac4>
                  <WifiMacFilterMac5></WifiMacFilterMac5>
                  <WifiMacFilterMac6></WifiMacFilterMac6>
                  <WifiMacFilterMac7></WifiMacFilterMac7>
                  <WifiMacFilterMac8></WifiMacFilterMac8>
                  <WifiMacFilterMac9></WifiMacFilterMac9>
                  <WifiMacFilterStatus></WifiMacFilterStatus>
              </Ssid>
              <Ssid>
                  ...
              </Ssid>
              ...
          </Ssids>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Pobranie statusu rozszerzenia sieci WiFi
    • url: http://192.168.8.1/api/wlan/multi-switch-settings
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <multissidstatus></multissidstatus>
      </response>
    • Uwagi: brak

    Pobranie ustawień profilów sieci WiFi
    • url: http://192.168.8.1/api/wlan/multi-security-settings
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <WifiCountry></WifiCountry>
          <WifiChannel></WifiChannel>
          <WifiMode></WifiMode>
          <Wifioffenable></Wifioffenable>
          <WifiIsolationBetween></WifiIsolationBetween>
          <WifiIsolate></WifiIsolate>
          <Wifiofftime></Wifiofftime>
          <wifibandwidth></wifibandwidth>
          <wifiautocountryswitch></wifiautocountryswitch>
          <WifiRestart></WifiRestart>
          <WifiEnable></WifiEnable>
      </response>
    • Uwagi:
      • WifiMode:
      • a - standard 802.11a
        • a/n - standard 802.11a/n
        • a/n/ac - standard 802.11a/n/ac
        • b/g/n - standard 802.11b/g/n

    Zmiana ustawień profilów sieci WiFi
    • url: http://192.168.8.1/api/wlan/multi-security-settings
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <WifiCountry></WifiCountry>
          <WifiChannel></WifiChannel>
          <WifiMode></WifiMode>
          <Wifioffenable></Wifioffenable>
          <WifiIsolationBetween></WifiIsolationBetween>
          <WifiIsolate></WifiIsolate>
          <Wifiofftime></Wifiofftime>
          <wifibandwidth></wifibandwidth>
          <wifiautocountryswitch></wifiautocountryswitch>
          <WifiRestart></WifiRestart>
          <WifiEnable></WifiEnable>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi:
      • WifiMode:
      • a - standard 802.11a
        • a/n - standard 802.11a/n
        • a/n/ac - standard 802.11a/n/ac
        • b/g/n - standard 802.11b/g/n

    Pobranie ustawień rozszerzonych profilów sieci WiFi
    • url: http://192.168.8.1/api/wlan/multi-security-settings-ex
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <ssids>
              <ssid>
                  <WifiMode></WifiMode>
                  <WifiIsolationBetween></WifiIsolationBetween>
                  <WifiChannel></WifiChannel>
                  <wifibandwidth></wifibandwidth>
                  <WifiEnable></WifiEnable>
              </ssid>
              <ssid>
                  ...
              </ssid>
              ...
          </ssids>
      </response>
    • Uwagi:
      • WifiMode:
      • a - standard 802.11a
        • a/n - standard 802.11a/n
        • a/n/ac - standard 802.11a/n/ac
        • b/g/n - standard 802.11b/g/n

    Ustawienia rozszerzone profilów sieci WiFi
    • url: http://192.168.8.1/api/wlan/multi-security-settings-ex
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <ssids>
              <ssid>
                  <WifiMode></WifiMode>
                  <WifiIsolationBetween></WifiIsolationBetween>
                  <WifiChannel></WifiChannel>
                  <wifibandwidth></wifibandwidth>
                  <WifiEnable></WifiEnable>
              </ssid>
              <ssid>
                  ...
              </ssid>
              ...
          </ssids>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi:
      • WifiMode:
      • a - standard 802.11a
        • a/n - standard 802.11a/n
        • a/n/ac - standard 802.11a/n/ac
        • b/g/n - standard 802.11b/g/n

    Pobranie statusu pokazywania hasła na wyświetlaczu OLED?
    • url: http://192.168.8.1/api/wlan/oled-showpassword
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <oledshowpassword></oledshowpassword>
      </response>
    • Uwagi: brak

    Zmiana stanu pokazywania hasła na wyświetlaczu OLED?
    • url: http://192.168.8.1/api/wlan/oled-showpassword
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <oledshowpassword></oledshowpassword>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Pobranie ustawień zabezpieczeń sieci WiFi
    • url: http://192.168.8.1/api/wlan/security-settings
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <WifiAuthmode></WifiAuthmode>
          <WifiWepKey1></WifiWepKey1>
          <WifiWepKey2></WifiWepKey2>
          <WifiWepKey3></WifiWepKey3>
          <WifiWepKey4></WifiWepKey4>
          <WifiWepKeyIndex></WifiWepKeyIndex>
          <WifiWpaencryptionmodes></WifiWpaencryptionmodes>
          <WifiBasicencryptionmodes></WifiBasicencryptionmodes>
          <WifiWpapsk></WifiWpapsk>
      </response>
    • Uwagi:
      • WifiAuthmode:
        • AUTO - autoryzacja automatyczna
        • OPEN - autoryzacja sieć otwarta
        • SHARE - autoryzacja sieć udostępniona
        • WEP - autoryzacja - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA/WPA2-PSK

    Ustawienia zabezpieczeń sieci WiFi
    • url: http://192.168.8.1/api/wlan/security-settings
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <WifiAuthmode></WifiAuthmode>
          <WifiWepKey1></WifiWepKey1>
          <WifiWepKey2></WifiWepKey2>
          <WifiWepKey3></WifiWepKey3>
          <WifiWepKey4></WifiWepKey4>
          <WifiWepKeyIndex></WifiWepKeyIndex>
          <WifiWpaencryptionmodes></WifiWpaencryptionmodes>
          <WifiBasicencryptionmodes></WifiBasicencryptionmodes>
          <WifiWpapsk></WifiWpapsk>
          <WifiRestart>1</WifiRestart>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi:
      • WifiAuthmode:
        • AUTO - autoryzacja automatyczna
        • OPEN - autoryzacja sieć otwarta
        • SHARE - autoryzacja sieć udostępniona
        • WEP - autoryzacja - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA/WPA2-PSK

    Sprawdzenie obecności karty SIM?
    • url: http://192.168.8.1/api/wlan/sta-sim-relation
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <sim_relation></sim_relation>
      </response>
    • Uwagi: brak

    Pobranie informacji o WLAN
    • url: http://192.168.8.1/api/wlan/station-information
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <RxFlux></RxFlux>
          <TxFlux></TxFlux>
          <TotalRxFlux></TotalRxFlux>
          <TotalTxFlux></TotalTxFlux>
          <CurrentTime></CurrentTime>
          <TotalTime></TotalTime>
      </response>
    • Uwagi: brak
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
31-01-2015, 17:27 (Ten post był ostatnio modyfikowany: 01-02-2015 00:00 przez VipeRsan.)
Post: #14
HiLink API dla urządzeń Huawei
2. Strony API - żądania i odpowiedzi - cd.
  • Moduł WLAN - cd.

    Sprawdzenie stanu funkcji WiFi
    • url: http://192.168.8.1/api/wlan/wifi-feature-switch
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <stawpsenabled></stawpsenabled>
          <maxapnum></maxapnum>
          <isdoublechip></isdoublechip>
          <opennonewps_enable></opennonewps_enable>
          <wifi24g_switch_enable></wifi24g_switch_enable>
      </response>
    • Uwagi: brak

    Ustawienie funkcji WiFi
    • url: http://192.168.8.1/api/wlan/wifi-feature-switch
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <stawpsenabled></stawpsenabled>
          <maxapnum></maxapnum>
          <isdoublechip></isdoublechip>
          <opennonewps_enable></opennonewps_enable>
          <wifi24g_switch_enable></wifi24g_switch_enable>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Ustawienia profilu WiFi
    • url: http://192.168.8.1/api/wlan/wifiaddprofile
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <WifiSsid></WifiSsid>
          <WifiAuthMode></WifiAuthMode>
          <WifiSecMode></WifiSecMode>
          <WifiAuthSecret></WifiAuthSecret>
          <wifiwispruser></wifiwispruser>
          <wifiwisprpwd></wifiwisprpwd>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: wifiwispruser oraz wifiwisprpwd są opcjonalne. Można te zmienne pominąć, chyba że łączymy z siecią typu WISPr.
      • WifiSecMode:
        • NONE - brak zabezpieczeń sieci
        • OPEN - sieć otwarta
        • WEP - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - sieć zabezpieczona za pomocą WPA/WPA2-PSK
        • WPA-EAP - sieć zabezpieczona za pomocą WPA-EAP
        • WPA2-EAP - sieć zabezpieczona za pomocą WPA2-EAP
        • WPA/WPA2-EAP - sieć zabezpieczona za pomocą WPA/WPA2-EAP
        • WPA_ENTERPRISE - sieć zabezpieczona za pomocą WPA_ENTERPRISE
        • WPA2_ENTERPRISE - sieć zabezpieczona za pomocą WPA2_ENTERPRISE
      • WifiAuthmode:
        • AUTO - autoryzacja automatyczna
        • OPEN - autoryzacja sieć otwarta
        • SHARE - autoryzacja sieć udostępniona
        • WEP - autoryzacja - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA/WPA2-PSK

    Rozłączenie połączenia WiFi
    • url: http://192.168.8.1/api/wlan/wifidial
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <DialAction></DialAction>
          <WifiSsid></WifiSsid>
          <WifiSecMode></WifiSecMode>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi:
      • DialAction:
        • 0 - rozłączony
        • 1 - połączony
      • WifiSecMode:
        • NONE - brak zabezpieczeń sieci
        • OPEN - sieć otwarta
        • WEP - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - sieć zabezpieczona za pomocą WPA/WPA2-PSK
        • WPA-EAP - sieć zabezpieczona za pomocą WPA-EAP
        • WPA2-EAP - sieć zabezpieczona za pomocą WPA2-EAP
        • WPA/WPA2-EAP - sieć zabezpieczona za pomocą WPA/WPA2-EAP
        • WPA_ENTERPRISE - sieć zabezpieczona za pomocą WPA_ENTERPRISE
        • WPA2_ENTERPRISE - sieć zabezpieczona za pomocą WPA2_ENTERPRISE

    Nawiązywanie połączenia i rozłączanie WiFi
    • url: http://192.168.8.1/api/wlan/wifidial
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <DialAction></DialAction>
          <WifiSsid></WifiSsid>
          <WifiSecMode></WifiSecMode>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi:
      • DialAction:
        • 0 - rozłączony
        • 1 - połączony
      • WifiSecMode:
        • NONE - brak zabezpieczeń sieci
        • OPEN - sieć otwarta
        • WEP - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - sieć zabezpieczona za pomocą WPA/WPA2-PSK
        • WPA-EAP - sieć zabezpieczona za pomocą WPA-EAP
        • WPA2-EAP - sieć zabezpieczona za pomocą WPA2-EAP
        • WPA/WPA2-EAP - sieć zabezpieczona za pomocą WPA/WPA2-EAP
        • WPA_ENTERPRISE - sieć zabezpieczona za pomocą WPA_ENTERPRISE
        • WPA2_ENTERPRISE - sieć zabezpieczona za pomocą WPA2_ENTERPRISE

    Pobranie informacji o priorytecie profilów sieci WiFi
    • url: http://192.168.8.1/api/wlan/wifiprofile
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <SsidLists>
              <SsidList>
                  <WifiSsid></WifiSsid>
                  <WifiSecMode></WifiSecMode>
                  <Preset></Preset>
                  <Index></Index>
                  <Order></Order>
              </SsidList>
              <SsidList>
                  ...
              </SsidList>
              ...
          </SsidLists>
      </response>
    • Uwagi:
      • WifiSecMode:
        • NONE - brak zabezpieczeń sieci
        • OPEN - sieć otwarta
        • WEP - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - sieć zabezpieczona za pomocą WPA/WPA2-PSK
        • WPA-EAP - sieć zabezpieczona za pomocą WPA-EAP
        • WPA2-EAP - sieć zabezpieczona za pomocą WPA2-EAP
        • WPA/WPA2-EAP - sieć zabezpieczona za pomocą WPA/WPA2-EAP
        • WPA_ENTERPRISE - sieć zabezpieczona za pomocą WPA_ENTERPRISE
        • WPA2_ENTERPRISE - sieć zabezpieczona za pomocą WPA2_ENTERPRISE
      • Jako ciekawostka do logu w js przekazywana jest informacja o API mające adres api/wlan/profile-information

    Ustawienie priorytetu profilów sieci WiFi
    • url: http://192.168.8.1/api/wlan/wifiprofile
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <SsidLists>
              <SsidList>
                  <WifiSsid></WifiSsid>
                  <WifiSecMode></WifiSecMode>
                  <Preset></Preset>
                  <Index></Index>
                  <Order></Order>
              </SsidList>
              <SsidList>
                  ...
              </SsidList>
              ...
          </SsidLists>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi:
      • WifiSecMode:
        • NONE - brak zabezpieczeń sieci
        • OPEN - sieć otwarta
        • WEP - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - sieć zabezpieczona za pomocą WPA/WPA2-PSK
        • WPA-EAP - sieć zabezpieczona za pomocą WPA-EAP
        • WPA2-EAP - sieć zabezpieczona za pomocą WPA2-EAP
        • WPA/WPA2-EAP - sieć zabezpieczona za pomocą WPA/WPA2-EAP
        • WPA_ENTERPRISE - sieć zabezpieczona za pomocą WPA_ENTERPRISE
        • WPA2_ENTERPRISE - sieć zabezpieczona za pomocą WPA2_ENTERPRISE

    Włączenie wyszukiwania sieci WiFi
    • url: http://192.168.8.1/api/wlan/wifiscan
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <Wifiscan>0</Wifiscan>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Sprawdzenie statusu wyszukiwania sieci WiFi
    • url: http://192.168.8.1/api/wlan/wifiscan
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <Wifiscan></Wifiscan>
      </response>
    • Uwagi:
      • Wifiscan:
        • 0 - zakończono wyszukiwanie sieci WiFi
        • 1 - trwa wyszikiwanie sieci WiFi

    Pobranie wyników wyszukiwania sieci WiFi
    • url: http://192.168.8.1/api/wlan/wifiscanresult
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <SsidLists>
              <SsidList>
                  <WifiSsid></WifiSsid>
                  <WifiSignal></WifiSignal>
                  <WifiAuthMode></WifiAuthMode>
                  <WifiSecMode></WifiSecMode>
                  <WifiNeedPassword></WifiNeedPassword>
                  <wifiwisprenable></wifiwisprenable>
                  <wifiwispruser></wifiwispruser>
                  <profileenable></profileenable>
                  <wifiwispruwd></wifiwispruwd>
              </SsidList>
              <SsidList>
                  ...
              </SsidList>
              ...
          </SsidLists>
      </response>
    • Uwagi:
      • WifiSecMode:
        • NONE - brak zabezpieczeń sieci
        • OPEN - sieć otwarta
        • WEP - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - sieć zabezpieczona za pomocą WPA/WPA2-PSK
        • WPA-EAP - sieć zabezpieczona za pomocą WPA-EAP
        • WPA2-EAP - sieć zabezpieczona za pomocą WPA2-EAP
        • WPA/WPA2-EAP - sieć zabezpieczona za pomocą WPA/WPA2-EAP
        • WPA_ENTERPRISE - sieć zabezpieczona za pomocą WPA_ENTERPRISE
        • WPA2_ENTERPRISE - sieć zabezpieczona za pomocą WPA2_ENTERPRISE
      • WifiAuthmode:
        • AUTO - autoryzacja automatyczna
        • OPEN - autoryzacja sieć otwarta
        • SHARE - autoryzacja sieć udostępniona
        • WEP - autoryzacja - sieć zabezpieczona za pomocą WEP
        • WPA-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA-PSK
        • WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA2-PSK
        • WPA/WPA2-PSK - autoryzacja - sieć zabezpieczona za pomocą WPA/WPA2-PSK

    Pobranie listy filtrów po adresie MAC
    • url: http://192.168.8.1/api/wlan/wps
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <WPSPin></WPSPin>
      </response>
    • Uwagi: brak

    Ustawienie listy filtrów po adresie MAC
    • url: http://192.168.8.1/api/wlan/wps
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <WPSPin></WPSPin>
          <ssidindex></ssidindex>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak

    Sprawdzenie połączenia WiFi PBC
    • url: http://192.168.8.1/api/wlan/wps-pbc
    • metoda: GET
    • żądanie: brak
    • odpowiedź:
      Kod:
      <response>
          <State></State>
          <WPSMode>3</WPSMode>
          <ssidindex></ssidindex>
      </response>
    • Uwagi:
      • State:
        • 3 - błąd połączenia
        • 4 - łączenie
        • 5 - połączono

    Ustawienia połączenia WiFi PBC??
    • url: http://192.168.8.1/api/wlan/wps-pbc
    • metoda: POST
    • żądanie:
      Kod:
      <request>
          <WPSMode>3</WPSMode>
          <ssidindex></ssidindex>
      </request>
    • odpowiedź:
      Kod:
      <response>OK</response>
    • Uwagi: brak
  • Uwagi
    Nie wszystkie API były testowane. Część jest nie obsługiwana przez modem E3372 który posiadam, a część po prostu nie była testowana i już Tongue
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
31-01-2015, 17:28 (Ten post był ostatnio modyfikowany: 01-02-2015 00:00 przez VipeRsan.)
Post: #15
HiLink API dla urządzeń Huawei
3. Używanie API

API HiLinka bez problemu można użyć w Linuxie. Zarówno w postaci komendy wpisanej w wierszu poleceń jak i skryptu. W Windowsie zaczyna być odrobinę trudniej. Można sobie sprawę uprościć ściągając binarki curl (patrz strona projektu cURL) oraz pakiet narzędzi linii poleceń Linuxa dla Windowsa (np. UnxUtils) z którego warto zaopatrzyć się w grep i cut.
Poniżej kilka przykładów przetestowanych na OpenWRT Barrier Breaker (r43618) by Cezary (obsy) Jackiewicz (http://eko.one.pl) za pomocą polecenia curl (bez problemu myślę, że można zaadaptować do polecenia wget), a także przykłady plików wsadowych dla Windows.
  • Przykład 1a - restart modemu - wiersz poleceń w OpenWRT
    Kod:
    curl -X POST -d "<request><Control>1</Control></request>" http://192.168.8.1/api/device/control -H "__RequestVerificationToken: $(curl -s -X GET http://192.168.8.1/api/webserver/token | grep token  | cut -d '>' -f2 | cut -d '<' -f1)" -H "Content-Type: text/xml"
  • Przykład 1b - restart modemu - skrypt 'restart.sh' wywoływany poleceniem 'sh restart.sh' w OpenWRT
    Kod:
    #!/bin/bash
    token=$(curl -s -X GET http://192.168.8.1/api/webserver/token | grep token  | cut -d '>' -f2 | cut -d '<' -f1)
    curl -X POST -d "<request><Control>1</Control></request>" --url http://192.168.8.1/api/device/control -H "__RequestVerificationToken: $token" -H "Content-Type: text/xml"
  • Przykład 1c - restart modemu - plik wsadowy 'restart.cmd' dla Windows
    Kod:
    @ECHO OFF

    rem pobranie tokena i zapisanie do zmiennej tok
    @curl -s -X GET http://192.168.8.1/api/webserver/token | grep token | cut -d ^> -f2 | cut -d ^< -f1 > tmp.tmp
    @SET /p tok= < tmp.tmp
    @del /A /F tmp.tmp
    @SET tok=__RequestVerificationToken: %tok%

    rem wykonanie restartu modemu
    @curl -X POST -d "<request><Control>1</Control></request>" http://192.168.8.1/api/device/control -H "%tok%" -H "Content-Type: text/xml"
  • Przykład 2 - Odczytanie SMSów ze skrzynki odbiorczej ze strony 2 - wiersz poleceń w OpenWRT
    Kod:
    curl -X POST -d "<request><PageIndex>1</PageIndex><ReadCount>20</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>0</UnreadPreferred></request>" http://192.168.8.1/api/sms/sms-list -H "__RequestVerificationToken: $(curl -s -X GET http://192.168.8.1/api/webserver/token | grep token  | cut -d '>' -f2 | cut -d '<' -f1)" -H "Content-Type: text/xml"
  • Przykład 3 - Wysłanie SMS - wiersz poleceń w OpenWRT
    Kod:
    curl -X POST -d "<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones><Phone>+48123456789</Phone></Phones><Sca></Sca><Content>To jest tresc SMS'a</Content><Length>-1</Length><Reserved>1</Reserved><Date>-1</Date></request>" http://192.168.8.1/api/sms/send-sms -H "__RequestVerificationToken: $(curl -s -X GET http://192.168.8.1/api/webserver/token | grep token  | cut -d '>' -f2 | cut -d '<' -f1)" -H "Content-Type: text/xml"
  • Przykład 4a - Pobranie tokena - wiersz poleceń w OpenWRT
    Kod:
    curl http://192.168.8.1/api/webserver/token
  • Przykład 4b - Pobranie tokena przycięcie do samego tokena - wiersz poleceń w OpenWRT
    Kod:
    curl -s -X GET http://192.168.8.1/api/webserver/token | grep token  | cut -d '>' -f2 | cut -d '<' -f1

4. Numery błędów

API potrafi odpowiedzieć błędem na nasze żądanie. Błąd wygląda następująco:
Kod:
<?xml version="1.0" encoding="UTF-8"?>
<error>
    <code>NR_BŁĘDU</code>
    <message></message>
</error>

gdzie NR_BŁĘDU:
  • 100002 - brak wsparcia w firmware lub błędny adres API
  • 100003 - brak uprawnień
  • 100004 - system zajęty
  • 100005 - brak informacji o danym błędzie
  • 100006 - błędny parametr
  • 100009 - błąd zapisu
  • 103002 - brak informacji o danym błędzie
  • 103015 - brak informacji o danym błędzie
  • 108001 - niepoprawna nazwa użytkownika
  • 108002 - niepoprawne hasło użytkownika
  • 108003 - użytkownik aktualnie zalogowany
  • 108006 - nieprawidłowa nazwa użytkownika lub hasło
  • 108007 - nieprawidłowa nazwa użytkownika lub hasło, osiągnięto limit prób
  • 110024 - bateria poniżej 50% (przy aktualizacji oprogramowania)
  • 111019 - brak odpowiedzi sieci
  • 111020 - przekroczenie czasu sieci
  • 111022 - sieć nie obsługuje
  • 113018 - system zajęty (dotyczy operacji na SMS'ach)
  • 114001 - plik już istnieje
  • 114002 - plik już istnieje
  • 114003 - karta SD jest obecnie w użyciu
  • 114004 - udostępniona ścieżka nie istnieje
  • 114005 - zbyt długa ścieżka dostępu
  • 114006 - brak uprawnień do pliku/katalogu
  • 115001 - brak informacji o danym błędzie
  • 117001 - niepoprawne hasło (przy połączeniu WiFi)
  • 117004 - niepoprawne hasło WISPr (przy połączeniu WiFi)
  • 120001 - połączenie głosowe zajęte
  • 125001 - niepoprawny token
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
31-01-2015, 17:29 (Ten post był ostatnio modyfikowany: 17-02-2015 12:19 przez VipeRsan.)
Post: #16
HiLink API dla urządzeń Huawei
5. Inne


6. Źródła wiedzy
  • Głównym źródłem wiedzy jest samo urządzenie, a dokładniej JavaScripty zawarte na danych stronach konfiguracyjnych modemu Wink
  • Programming and Installing HUAWEI HiLink E3131 under Linux - stronka z której dość dużo informacji zebrałem i w podobny sposób stworzyłem ten poradnik.
  • BlackyPanther/Huawei-HiLink - klasa PHP korzystająca z dobrodziejstw API HiLinka
  • Forum 4PDA - a w szczególności tematy poświęcone dyskusji na temat danego urządzenia i jego oprogramowania.
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
15-02-2015, 15:07
Post: #17
HiLink API dla urządzeń Huawei
Gdzieś wcześniej umknęło a więc uzupełniłem wpis przy http://192.168.8.1/api/pin/operate o OperateType = 0 - weryfikacja PIN (czyli, gdy potrzebujemy wpisać PIN).
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
17-02-2015, 12:22
Post: #18
HiLink API dla urządzeń Huawei
Dodałem sposób dla zaawansowanych na niedziałającą funkcję automatycznego podawania nr PIN dla modemów z odblokowanym ADB i/lub telnetem.
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
17-06-2015, 09:41
Post: #19
HiLink API dla urządzeń Huawei
Drobny update zanim kiedyś poprawię i uzupełnię wcześniejsze posty, trochę się poświęciłem i wgrałem nowszy soft do swojego modemu dzięki czemu mogłem zgłębić trochę tajniki HilinkAPI dla nowszych fw (jak się zdaje dotyczy oprogramowania powyżej wersji 22.29x.xx.xxx). Postaram się całość zamieścić w powyżej przy okazji wprowadzić parę poprawek i dopisać parę nowych API wprowadzonych jak się zdaje wraz z WebUI 17, ale poniżej zamieszczę wzmiankę o głównej zmianie, która blokowała korzystanie z API HiLinka.

W nowym fw zmienia się kompletnie sposób weryfikacji komend API. Przedtem był to token pobierany z adresu /api/webserver/token. Obecnie jest to weryfikacja sesji.

Cezary z eko.one.pl, dla potrzeb 3ginfo, odpytując HiLinki z nowym fw robi myk w postaci pobrania ciasteczka ze strony głównej 192.168.8.1/html/home.html i następnie z komendami API przekazuje ciasteczko. Ciasteczko zawiera zmienną SessionID. Teoretycznie jest ok komendy działają i wszyscy sa szczęśliwi. A może jednak nie do końca, bo po pierwsze wymaga pobrania ciasteczka ze strony html, a po drugie jak spróbujemy pobrać listę sms'ów dostaniemy błąd sesji 125002 (powinien co prawda wystąpić błąd 125003, ale mniejsza o to) :/

Podgląd jak to robi stronka sms modemu HiLink wskaże, że przekazywany jest token, który pobierany jest z... nagłówka meta generowanego dynamicznie tej strony html (w zasadzie występują 2 nagłówki meta o nazwie csrf_token, ale uprzedzając pytania nie wiem czemu są dwa) Sad

No dobra pytanie skąd bierze się SessionID i token sesji? Wygląda na to, że jest to zaszyte gdzieś w fw, bo przypadek sprawił, że znalazłem adres /api/webserver/SesTokInfo (próbowałem hexedytorem podejrzeć plik update'u Wink ). Wywołując to API na nowym fw dostajemy 2 zmienne.
  1. Informacje o identyfikatorze sesji - SesInfo która zawiera właśnie zmienną SessionID oraz
  2. Informację o tokenie sesji - TokInfo, który zawiera token.

Teraz trochę praktyki.
  1. Pobranie informacji o sesji:
    Kod:
    curl -X GET http://192.168.8.1/api/webserver/SesTokInfo
    da nam odpowieź:
    Kod:
    <?xml version="1.0" encoding="UTF-8"?>
    <response>
    <SesInfo>SessionID=gsU8x5ODj9CdzmYTG2pA5AUWnnQtHj0nbi4JuSGKfrK+siCdrFM1NBQu8Au6VpXgEm+​8VtstHPIT55l74Z1UHmXcz7JBjQO2xMOYv+1PQkh8+BLIy6D6rOF34CB5R9s7</SesInfo>
    <TokInfo>c1w6RrxlvkKA0TzGnZmS9/uTCbHTtN9f</TokInfo>
    </response>
  2. Większość API (przynajmniej z części informacyjnej - GET) obsługuje się przekazując zmienną SesInfo jako ciasteczko. Można to zrobić na dwa sposoby:
    • po bożemu jak sama nazwa wskazuje czyli parametrem odpowiedzialnym za ciasteczko:
      Kod:
      curl -X GET http://192.168.8.1/api/device/signal --cookie "SessionID=gsU8x5ODj9CdzmYTG2pA5AUWnnQtHj0nbi4JuSGKfrK+siCdrFM1NBQu8Au6VpXgEm+8Vt​stHPIT55l74Z1UHmXcz7JBjQO2xMOYv+1PQkh8+BLIy6D6rOF34CB5R9s7" -H "Content-Type: text/xml"
    • lub przekazując jako nagłówek "Cookie":
      Kod:
      curl -X GET http://192.168.8.1/api/device/signal -H "Cookie: SessionID=gsU8x5ODj9CdzmYTG2pA5AUWnnQtHj0nbi4JuSGKfrK+siCdrFM1NBQu8Au6VpXgEm+8Vt​stHPIT55l74Z1UHmXcz7JBjQO2xMOYv+1PQkh8+BLIy6D6rOF34CB5R9s7" -H "Content-Type: text/xml"
  3. Niektóre API (część konfiguracyjna - POST) może dodatkowo wymagać podania tokena. Tak więc np. pobranie listy sms będzie wyglądało następująco (wersja z przekazaniem SessionID jako nagłówka):
    Kod:
    curl -X POST -d "<request><PageIndex>1</PageIndex><ReadCount>20</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>0</UnreadPreferred></request>" http://192.168.8.1/api/sms/sms-list -H "Cookie: SessionID=gsU8x5ODj9CdzmYTG2pA5AUWnnQtHj0nbi4JuSGKfrK+siCdrFM1NBQu8Au6VpXgEm+8Vt​stHPIT55l74Z1UHmXcz7JBjQO2xMOYv+1PQkh8+BLIy6D6rOF34CB5R9s7" -H "__RequestVerificationToken: c1w6RrxlvkKA0TzGnZmS9/uTCbHTtN9f" -H "Content-Type: text/xml"

I jeszcze jedna uwaga... Token sesji i identyfikator sesji jest często zmieniany. Nie pamiętam w tej chwili konkretnych liczb, ale trzeba mieć to na uwadze. Stare API tokena /api/webserver/token zwykle podawało ten sam numer przez dość długi czas. Nowe API /api/webserver/SesTokInfo za każdym razem podaje inny wynik. Pewnie wynika to z szyfrowania, ale zbyt długo zastanawiając się nad komendami API dość szybko można odkryć, że dostaniemy w wyniku komendy błąd sesji 125002 (przeterminowany SessionID). Dlatego automatyzując działanie skryptów trzeba uwzględnić powyższe uwagi. Np plik wsadowy dla Windowsa można rozwiązać w ten sposób (wymaga narzędzi: curl, grep, cut):
Kod:
@ECHO OFF
rem przypisanie zmiennej modIPAdr adresu IP modemu
@SET modIPAdr=192.168.8.1

rem pobranie tokena oraz ID sesji i zapisanie do zmiennych
@curl -s -X GET http://%modIPAdr%/api/webserver/SesTokInfo > tmp.tmp
type tmp.tmp | grep SesInfo | cut -d ^> -f2 | cut -d ^< -f1 > tmp1.tmp
type tmp.tmp | grep TokInfo | cut -d ^> -f2 | cut -d ^< -f1 > tmp2.tmp
@del /A /F tmp.tmp

@SET /p sid= < tmp1.tmp
@del /A /F tmp1.tmp
@SET sid=Cookie: %sid%

@SET /p tok= < tmp2.tmp
@del /A /F tmp2.tmp
@SET tok=__RequestVerificationToken: %tok%

rem pobranie listy sms'ów
@curl -X POST -d "<request><PageIndex>1</PageIndex><ReadCount>20</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>0</UnreadPreferred></request>" http://%modIPAdr%/api/sms/sms-list -H "%sid%" -H "%tok%" -H "Content-Type: text/xml"
@pause
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
17-06-2015, 12:47 (Ten post był ostatnio modyfikowany: 18-06-2015 16:33 przez penknife.)
Post: #20
HiLink API dla urządzeń Huawei
Moja wariacja na temat (wymaga tylko curl):
Kod:
@echo off &:: HHL_token_test.bat
setlocal
set modIPAdr=192.168.8.1
call :getHHLToken %modIPAdr%

rem pobranie listy sms'ów
curl -X POST -d "<request><PageIndex>1</PageIndex><ReadCount>20</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>0</UnreadPreferred></request>" http://%modIPAdr%/api/sms/sms-list %_SID% %_Token% -H "Content-Type: text/xml"
if "%~1"=="" echo.&pause
endlocal
goto :eof

:getHHLToken &::[adres IP]:zwraca zmienne %_Token% oraz %_SID% z Huawei HiLink do wykorzystania z curl lub wget, przyjmując opcjonalnie adres IP modemu
setlocal
rem przypisanie zmiennej HHL adresu modemu
SET HHL=hi.link
rem przyjmij pierwszy parametr jako adres IP modemu lecz pierw zweryfikuj
if "%~1" neq "" if /i "%~1" neq "%HHL%" echo. %~1 |findstr /r /c:"^ *[0-9]*[0-9]\.[0-9]*[0-9]\.[0-9]*[0-9]\.[0-9]*[0-9] *$" >nul &&set HHL=%~1
rem inicjalizacja niepustych zmiennych
set "_SID= "
set "_Token= "
rem wyczyść zmienną z adresem ze spacji
set HHL=%HHL: =%
set _c=curl -q -s -X GET --stderr nul --max-time 5
rem pobranie tokena oraz ID sesji i przypisanie wartości
for /f "tokens=1-4 delims=<>" %%a in ('%_c% http://%HHL%/api/webserver/SesTokInfo ^|find /i "Info>"') do (
rem if /i "%%~c"=="/SesInfo" - sprawdza czy zmienna nie przekroczyła linii
if /i "%%~a"=="SesInfo" if /i "%%~c"=="/SesInfo" set _SID=--header "Cookie: %%b"
if /i "%%~a"=="TokInfo" if /i "%%~c"=="/TokInfo" set _Token=--header "__RequestVerificationToken: %%b"
rem jeżeli przed pierwszym znakiem < lub > coś występuje:
if /i "%%~b"=="SesInfo" if /i "%%~d"=="/SesInfo" set _SID=--header "Cookie: %%c"
if /i "%%~b"=="TokInfo" if /i "%%~d"=="/TokInfo" set _Token=--header "__RequestVerificationToken: %%c"
)

rem jeśli nowy token nie istnieje uzyskaj stary:
if "%_Token:~0,2%"==" " for /f "tokens=1-3 delims=<>" %%a in ('%_c% http://%HHL%/api/webserver/token ^|find /i "token"') do (
if /i "%%~a"=="token" set _Token=--header "__RequestVerificationToken: %%b"
if /i "%%~b"=="token" set _Token=--header "__RequestVerificationToken: %%c"
)

set _exit=0
if "%_SID:~0,2%"==" " set /a "_exit+=2"
if "%_Token:~0,2%"==" " set /a "_exit+=1"
endlocal &(set "_SID=%_SID%" )&(set "_Token=%_Token%" )& exit /b %_exit%
goto :eof
P.S. Nie posiadam żadnego Huawie'a, więc nie mam pewności czy powyższe działa poprawnie
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
Odpowiedz 


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Huawei E3276 brak modemu RAS jest tylko karta sieciowa NDIS Krystyna z gazowni 11 4 368 19-01-2018 13:37
Ostatni post: Krystyna z gazowni
  Huawei E3276 nie rozpoznaje Sieci Aero2- uszkodzona Antena ? AdamK 10 13 225 19-01-2018 10:36
Ostatni post: jakubd
  huawei e3531 s2 nie przełancza automatycznie sieci po zmianie karty? Lorek 14 5 876 11-11-2017 10:46
Ostatni post: Lorek
  huawei e372 vs Huawei E3531 Lorek 13 8 264 08-03-2017 07:19
Ostatni post: jakubd
Lightbulb Wymuszanie UMTS 900 MHz w modemach Huawei jakubd 185 242 215 04-02-2017 18:11
Ostatni post: jakubd