NB-IoT: cumu funziona? Parte 3: SCEF - una sola finestra di accessu à i servizii di l'operatore

In l'articulu "NB-IoT: cumu funziona? Parte 2", parlendu di l'architettura di u pacchettu core di a reta NB-IoT, avemu mintuatu l'apparizione di un novu node SCEF. Spieghemu in a terza parte ciò chì hè è perchè hè necessariu?

NB-IoT: cumu funziona? Parte 3: SCEF - una sola finestra di accessu à i servizii di l'operatore

Quandu creanu un serviziu M2M, i sviluppatori di l'applicazioni facenu e seguenti dumande:

  • quantu à identificà i dispusitivi;
  • chì l'algoritmu di verificazione è autentificazione à aduprà;
  • quale protocolu di trasportu à sceglie per interagisce cù i dispositi;
  • cumu furnisce in modu affidabile e dati à i dispositi;
  • cumu urganizà è stabilisce e regule per u scambiu di dati cun elli;
  • cumu monitorà è uttene infurmazioni nantu à a so cundizione in linea;
  • cumu furnisce simultaneamente dati à un gruppu di i vostri dispositi;
  • cumu mandà dati simultaneamente da un dispositivu à parechji clienti;
  • cumu uttene un accessu unificatu à servizii supplementari di l'operatore per a gestione di u vostru dispositivu.

Per risolviri, hè necessariu di creà solu suluzione tecnicamente "pesante", chì porta à l'aumentu di i costi di u travagliu è di i servizii di tempu à u mercatu. Hè quì chì u novu node SCEF vene in salvezza.

Cum'è definitu da 3GPP, SCEF (funzione di esposizione di capacità di serviziu) hè un cumpunente completamente novu di l'architettura 3GPP chì a so funzione hè di espone in modu sicuru i servizii è e capacità furnite da l'interfacce di rete 3GPP attraversu l'API.

In parolle simplici, SCEF hè un intermediariu trà a rete è u servitore di l'applicazioni (AS), una sola finestra d'accessu à i servizii di l'operatore per a gestione di u vostru dispositivu M2M in a reta NB-IoT attraversu una interfaccia API intuitiva è standardizzata.

SCEF nasconde a cumplessità di a rete di l'operatore, chì permette à i sviluppatori di l'applicazioni di astrazione di meccanismi cumplessi è specifichi di u dispositivu per interagisce cù i dispositi.

Trasfurmendu i protokolli di rete in una API familiar per i sviluppatori di l'applicazioni, l'API SCEF facilita a creazione di novi servizii è riduce u time-to-market. U novu node include ancu funzioni per identificà / autentificà i dispositi mobili, chì definiscenu e regule per u scambiu di dati trà u dispusitivu è AS, eliminendu a necessità per i sviluppatori di l'applicazioni per implementà queste funzioni da u so latu, trasferendu queste funzioni à e spalle di l'operatore.

SCEF copre l'interfacce necessarie per l'autentificazione è l'autorizazione di i servitori di l'applicazioni, u mantenimentu di a mobilità di l'UE, u trasferimentu di dati è l'attivazione di u dispositivu, l'accessu à i servizii supplementari è e capacità di a rete di l'operatore.

Versu l'AS ci hè una sola interfaccia T8, una API (HTTP/JSON) standardizzata da 3GPP. Tutte l'interfaccia, cù l'eccezzioni di T8, operanu nantu à u protocolu DIAMETER (Fig. 1).

NB-IoT: cumu funziona? Parte 3: SCEF - una sola finestra di accessu à i servizii di l'operatore

T6a - interfaccia trà SCEF è MME. Adupratu per e prucedure di gestione di a Mobilità / Sessione, a trasmissione di dati non IP, a pruvisione di l'avvenimenti di monitoraghju è a ricezione di rapporti nantu à elli.

S6t - interfaccia trà SCEF è HSS. Ubligatoriu per l'autentificazione di l'abbonati, l'autorizazione di i servitori di l'applicazioni, l'ottenimentu di una cumminazione di ID esterni è IMSI / MSISDN, furnisce l'avvenimenti di monitoraghju è riceve rapporti nantu à elli.

S6m/T4 - interfacce da SCEF à HSS è SMS-C (3GPP definisce u node MTC-IWF, chì hè utilizatu per l'attivazione di u dispositivu è a trasmissione SMS in rete NB-IoT. Tuttavia, in tutte l'implementazioni, a funziunalità di stu nodu hè integrata in SCEF, cusì per a simplificazione di u circuitu, ùn avemu micca cunsideratu separatamente). Adupratu per ottene informazioni di routing per mandà SMS è interagisce cù u centru SMS.

T8 - Interfaccia API per l'interazione SCEF cù i servitori di l'applicazioni. Tramindui i cumandamenti di cuntrollu è u trafficu sò trasmessi attraversu questa interfaccia.

* in realtà ci sò più interfacce; solu i più basi sò listati quì. Una lista cumpleta hè datu in 3GPP 23.682 (4.3.2 Lista di Punti di Referenza).

Quì sottu sò e funzioni chjave è i servizii di SCEF:

  • ligà l'identificatore di a carta SIM (IMSI) à l'identità esterna;
  • trasmissioni di trafficu non-IP (Non-IP Data Delivery, NIDD);
  • operazioni di gruppu cù l'ID di gruppu esternu;
  • supportu per u modu di trasmissione di dati cù cunferma;
  • buffering di dati MO (Mobile Originated) è MT (Mobile Terminated);
  • l'autentificazione è l'autorizazione di i dispositi è i servitori di l'applicazioni;
  • usu simultaneo di dati da una UE da parechji AS;
  • supportu per e funzioni speciali di monitoraghju di u statutu UE (MONTE - Monitoring Events);
  • attivazione di u dispusitivu;
  • furnisce roaming di dati non-IP.

U principiu di basa di l'interazzione trà AS è SCEF hè basatu annantu à u schema chjamatu. abbonamenti. S'ellu hè necessariu di accede à qualsiasi serviziu SCEF per un UE specificu, u servitore di l'applicazioni hà bisognu di creà un abbunamentu mandendu un cumandamentu à l'API specifica di u serviziu dumandatu è riceve un identificatore unicu in risposta. Dopu chì tutte e altre azzioni è cumunicazioni cù l'UE in u quadru di stu serviziu seranu realizatu cù questu identificatore.

ID esternu: identificatore universale di u dispositivu

Unu di i cambiamenti più impurtanti in u schema di interazzione trà AS è i dispositi quandu travaglia per SCEF hè l'apparizione di un identificatore universale. Avà, invece di un numeru di telefunu (MSISDN) o di l'indirizzu IP, cum'è era u casu in a reta classica 2G/3G/LTE, l'identificatore di u dispositivu per u servitore di l'applicazione diventa "ID esternu". Hè definitu da u standard in un formatu familiar à i sviluppatori di applicazioni " @ "

I sviluppatori ùn anu più bisognu di implementà algoritmi di autentificazione di u dispositivu; a rete assume completamente sta funzione. L'ID esterna hè ligata à IMSI, è u sviluppatore pò esse sicuru chì quandu accede à un ID esternu specificu, interagisce cù una carta SIM specifica. Quandu si usa un chip SIM, uttene una situazione cumpletamente unica quandu l'ID esternu identifica unicu un dispositivu specificu!

Inoltre, parechji ID esterni ponu esse ligati à un IMSI - una situazione ancu più interessante hè quandu l'ID esterna identifica unicu una applicazione specifica rispunsevule per un serviziu specificu nantu à un dispositivu specificu.

Un identificatore di gruppu appare ancu - ID di gruppu esternu, chì include un inseme di ID esterni individuali. Avà, cù una dumanda à SCEF, AS pò inizià operazioni di gruppu - mandendu dati o cumandamenti di cuntrollu à parechji dispositi uniti in un unicu gruppu logicu.

A causa di u fattu chì per i sviluppatori AS a transizione à un novu identificatore di u dispositivu ùn pò esse istantaneu, SCEF hà lasciatu a pussibilità di cumunicazione AS cù l'UE per mezu di un numeru standard - MSISDN.

Trasmissione di trafficu non-IP (Non-IP Data Delivery, NIDD)

In NB-IoT, cum'è parte di l'ottimisazione di i meccanismi per a trasmissione di picculi quantità di dati, in più di i tipi di PDN esistenti, cum'è IPv4, IPv6 è IPv4v6, hè apparsu un altru tipu - non-IP. In questu casu, u dispusitivu (UE) ùn hè micca assignatu un indirizzu IP è e dati sò trasmessi senza usà u protocolu IP. U trafficu per tali cunnessione pò esse divisu in duie manere: classic - MME -> SGW -> PGW è dopu attraversu u tunnel PtP à AS (Fig. 2) o utilizendu SCEF (Fig. 3).

NB-IoT: cumu funziona? Parte 3: SCEF - una sola finestra di accessu à i servizii di l'operatore

U metudu classicu ùn offre micca vantaghji spiciali nantu à u trafficu IP, salvu per riduce a dimensione di i pacchetti trasmessi per l'absenza di headers IP. L'usu di SCEF apre una quantità di novi pussibulità è simplifica significativamente e prucedure per interagisce cù i dispositi.

Quandu trasmette dati via SCEF, dui vantaghji assai impurtanti appariscenu annantu à u trafficu IP classicu:


Consegna di trafficu MT à u dispusitivu via ID esterni

Per mandà un missaghju à un dispositivu IP classicu, l'AS deve cunnosce u so indirizzu IP. Quì hè un prublema: postu chì u dispositivu riceve generalmente un indirizzu IP "grigiu" dopu a registrazione, cumunicà cù u servitore di l'applicazioni, chì si trova in Internet, attraversu un node NAT, induve l'indirizzu grisgiu hè traduttu in biancu. A cumminazzioni di l'indirizzi IP grigi è bianchi dura per un tempu limitatu, secondu e paràmetri NAT. In media, per TCP o UDP - micca più di cinque minuti. Questu hè, s'ellu ùn ci hè micca un scambiu di dati cù stu dispusitivu in 5 minuti, a cunnessione si disintegrarà è u dispusitivu ùn serà più accessibile à l'indirizzu biancu cù quale a sessione cù AS hè stata iniziata. Ci sò parechje suluzione:

1. Aduprate heartbeat. Una volta chì una cunnessione hè stata stabilita, u dispusitivu deve scambià pacchetti cù l'AS ogni pochi minuti, impediscendu cusì chì e traduzioni NAT si chjude. Ma ùn si pò parlà di alcuna efficienza energetica quì.

2. Ogni volta, se ne necessariu, verificate a dispunibilità di pacchetti per u dispusitivu in l'AS - mandate un missaghju à u uplink.

3. Crea un APN privatu (VRF), induve u servitore di l'applicazioni è i dispositi seranu nantu à a listessa subnet, è assignate l'indirizzi IP statichi à i dispositi. Funcionà, ma hè quasi impussibile quandu si parla di una flotta di millaie, decine di millaie di dispusitivi.

4. Infine, l'opzione più adattata: utilizate IPv6, ùn hè micca bisognu di NAT, postu chì l'indirizzi IPv6 sò direttamente accessibili da Internet. Tuttavia, ancu in questu casu, quandu u dispusitivu hè riregistratu, riceverà un novu indirizzu IPv6 è ùn serà più accessibile cù u precedente.

Dunque, hè necessariu di mandà qualchì pacchettu di inizializazione cù un identificatore di u dispositivu à u servitore per annunzià u novu indirizzu IP di u dispusitivu. Allora aspettate un pacchettu di cunferma da AS, chì afecta ancu l'efficienza energetica.

Questi metudi funzionanu bè per i dispositi 2G / 3G / LTE, induve u dispusitivu ùn hà micca esigenze strette per l'autonomia è, in u risultatu, ùn ci sò micca restrizioni à u tempu d'aria è u trafficu. Questi metudi ùn sò micca adattati per NB-IoT per via di u so altu cunsumu d'energia.

SCEF risolve stu prublema: postu chì l'unicu identificatore di u dispositivu per un AS hè un ID esternu, l'AS hà solu bisognu di mandà un pacchettu di dati à SCEF per un ID esternu specificu, è SCEF si prende cura di u restu. In casu chì u dispusitivu hè in modu di risparmiu di energia PSM o eDRX, i dati seranu buffered è furniti quandu u dispusitivu diventa dispunibule. Se u dispositivu hè dispunibule per u trafficu, i dati seranu mandati immediatamente. U stessu hè veru per i gruppi di gestione.

In ogni mumentu, l'AS pò ricurdà u missaghju buffered à l'UE o rimpiazzà cù un novu.

U meccanismo di buffering pò ancu esse usatu quandu trasmette dati MO da l'UE à l'AS. Se SCEF ùn era micca capace di furnisce immediatamente e dati à l'AS, per esempiu, se u travagliu di mantenimentu hè in corso nantu à i servitori AS, questi pacchetti seranu buffered è garantiti per esse consegnati appena l'AS diventa dispunibule.

Comu nutatu sopra, l'accessu à un serviziu specificu è UE per un AS (è NIDD hè un serviziu) hè regulatu da regule è pulitiche da u latu SCEF, chì permette a pussibilità unica di usu simultanee di dati da una UE da parechji AS. Quelli. se parechji AS anu abbonatu à una UE, dopu avè ricivutu dati da l'UE, SCEF li mandarà à tutti l'AS sottoscritti. Questu hè bè adattatu per i casi induve u creatore di una flotta di dispositi specializati sparte dati trà parechji clienti. Per esempiu, creendu una reta di stazioni meteorologiche chì funzionanu nantu à NB-IoT, pudete vende dati da elli à parechji servizii simultaneamente.

Meccanisimu di consegna di messagi garantitu

Reliable Data Service hè un mecanismu per a consegna garantita di messagi MO è MT senza l'usu di algoritmi specializati à u livellu di u protocolu, cum'è, per esempiu, handshake in TCP. Funziona includendu una bandiera speciale in a parte di serviziu di u missaghju quandu hè scambiatu trà l'UE è SCEF. Se attivà o micca stu mekanismu quandu trasmette u trafficu hè decisu da l'AS.

Se u mecanismu hè attivatu, l'UE include una bandiera speciale in a parte di sopra di u pacchettu quandu esige una consegna garantita di u trafficu MO. Dopu avè ricevutu un tali pacchettu, u SCEF risponde à l'UE cun un ricunniscenza. Se l'UE ùn riceve micca u pacchettu di ricunniscenza, u pacchettu versu SCEF serà rimandatu. U listessu cosa succede per u trafficu MT.

Monitoraghju di i dispositi (monitorizazione di l'avvenimenti - MONTE)

Cumu l'esitatu sopra, a funziunalità SCEF, frà altri cose, include funzioni per u monitoraghju di u statu di l'UE, u cusì chjamatu. surviglianza di u dispusitivu. È se i novi identificatori è i meccanismi di trasferimentu di dati sò ottimisazioni (ancu assai seriu) di e prucedure esistenti, allora MONTE hè una funziunalità completamente nova chì ùn hè micca dispunibule in e rete 2G / 3G / LTE. MONTE permette à AS di monitorà i paràmetri di u dispusitivu cum'è u statu di cunnessione, a dispunibilità di cumunicazione, u locu, u statu di roaming, etc. Parleremu di ognunu in più detail un pocu dopu.

Se hè necessariu attivà qualsiasi avvenimentu di monitoraghju per un dispositivu o un gruppu di dispusitivi, l'AS s'abbona à u serviziu currispundente mandendu u cumandamentu API MONTE currispundente à SCEF, chì include parametri cum'è l'ID esternu o l'ID di gruppu esternu, l'identificatore AS, u monitoraghju. tipu, numeru di raporti, chì AS voli riceve. Se l'AS hè autorizatu per eseguisce a dumanda, SCEF, secondu u tipu, furnisce l'avvenimentu à l'HSS o MME (Fig. 4). Quandu si verifica un avvenimentu, u MME o HSS genera un rapportu à SCEF, chì u manda à l'AS.

L'approvvigionamentu di tutti l'avvenimenti, cù l'eccezzioni di "Number of UEs present in a geographic area", si faci per HSS. Dui avvenimenti "Cambia di IMSI-IMEI Association" è "Roaming Status" sò tracciati direttamente nantu à HSS, u restu serà furnitu da HSS in MME.
L'avvenimenti ponu esse una volta o periodicu, è sò determinate da u so tipu.

NB-IoT: cumu funziona? Parte 3: SCEF - una sola finestra di accessu à i servizii di l'operatore

Mandatu un rapportu nantu à un avvenimentu (rapportu) hè realizatu da u node chì traccia l'avvenimentu direttamente à SCEF (Fig. 5).

NB-IoT: cumu funziona? Parte 3: SCEF - una sola finestra di accessu à i servizii di l'operatore

Punto importante: L'avvenimenti di monitoraghju pò esse appiicati sia à i dispositi non-IP cunnessi via SCEF sia à i dispositi IP chì trasmettenu dati in modu classicu via MME-SGW-PGW.

Fighjemu un ochju più vicinu à ognunu di l'avvenimenti di monitoraghju:

Perdita di cunnessione — informa l'AS chì l'UE ùn hè più dispunibule nè per u trafficu di dati nè per a signalazione. L'avvenimentu si verifica quandu u "timer di accessibilità mobile" per l'UE scade in u MME. In una dumanda per stu tipu di monitoraghju, l'AS pò indicà u so valore "Tempu Massimu di Detezzione" - se durante stu tempu l'UE ùn mostra micca attività, l'AS serà infurmatu chì l'UE ùn hè micca dispunibule, indichendu u mutivu. L'avvenimentu si verifica ancu se l'UE hè stata sguassata per forza da a reta per qualsiasi mutivu.

* Per fà sapè à a reta chì u dispusitivu hè sempre dispunibule, inizia periodicamente una prucedura d'aghjurnamentu - Aggiornamentu di l'area di seguimentu (TAU). A frequenza di sta prucedura hè stabilita da a reta cù u timer T3412 o (T3412_extended in u casu di PSM), u valore di quale hè trasmessu à u dispusitivu durante a prucedura Attach o u prossimu TAU. U timer di accessibilità mobile hè di solitu parechji minuti più longu cà T3412. Se l'UE ùn hà micca fattu un TAU prima di a scadenza di u "Timer d'accessibilità mobile", a rete cunsidereghja chì ùn hè più accessibile.

Raggiungibilità UE - Indica quandu l'UE diventa dispunibule per u trafficu DL o SMS. Questu accade quandu l'UE diventa dispunibule per paging (per un UE in modalità eDRX) o quandu l'UE entra in modalità ECM-CONNECTED (per un UE in modalità PSM o eDRX), vale à dì. fa un TAU o manda un pacchettu uplink.

Rapportu di locu - Stu tipu d'avvenimenti di surviglianza permette à l'AS di dumandà u locu di l'UE. Sia u locu attuale (Locu attuale) o l'ultimu locu cunnisciutu (Ultimu Locu cunnisciutu, determinatu da l'ID di cellula da quale u dispusitivu hà fattu TAU o u trafficu trasmessu l'ultima volta) pò esse dumandatu, chì hè pertinente per i dispositi in PSM o eDRX risparmiu di energia. modi. Per a "Locazione attuale", l'AS pò dumandà risposte ripetute, cù u MME chì informa l'AS ogni volta chì a situazione di u dispusitivu cambia.

Cambiamentu di l'Associazione IMSI-IMEI - Quandu questu avvenimentu hè attivatu, SCEF cumencia à monitorà i cambiamenti in a cumminazione di IMSI (identificatore di a carta SIM) è IMEI (identificatore di u dispositivu). Quandu un avvenimentu accade, informa AS. Pò esse usatu per rinfurzà automaticamente un ID esternu à un dispositivu durante u travagliu di sustituzione programatu o serve com'è identificatore per u furtu di un dispositivu.

Status di roaming - stu tipu di surviglianza hè utilizatu da AS per determinà se l'UE hè in a reta di casa o in a reta di un cumpagnu di roaming. Opcionalmente, a PLMN (Public Land Mobile Network) di l'operatore in quale u dispusitivu hè registratu pò esse trasmessa.

Fiascu di cumunicazione - Stu tipu di surviglianza informa l'AS nantu à i fallimenti in a cumunicazione cù u dispusitivu, basatu annantu à i motivi di a perdita di cunnessione (codice causa di liberazione) ricivutu da a reta d'accessu radio (protokollu S1-AP). Stu avvenimentu pò aiutà à determinà perchè a cumunicazione hà fiascatu - per via di prublemi nantu à a reta, per esempiu, quandu l'eNodeb hè sovraccaricatu (Risorse Radio ùn sò micca dispunibili) o per un fallimentu di u dispusitivu stessu (Radio Connection With UE Lost).

Disponibilità dopu à fallimentu DDN - questu avvenimentu informa à l'AS chì u dispusitivu hè diventatu dispunibule dopu un fallimentu di cumunicazione. Pò esse usatu quandu ci hè bisognu di trasfiriri dati à un dispositivu, ma u tentativu precedente ùn hè micca successu perchè l'UE ùn hà micca rispostu à una notificazione da a reta (paging) è i dati ùn sò micca stati mandati. Se stu tipu di monitoraghju hè statu dumandatu per l'UE, da quandu u dispusitivu faci una cumunicazione in entrata, fa un TAU o manda dati à u uplink, l'AS serà infurmatu chì u dispusitivu hè diventatu dispunibule. Siccomu a prucedura DDN (Downlink Data Notification) funziona trà MME è S/P-GW, stu tipu di monitoraghju hè dispunibule solu per i dispositi IP.

Status di cunnessione PDN - informa AS quandu u statutu di u dispusitivu cambia (statu di cunnessione PDN) - cunnessione (attivazione PDN) o disconnection (cancellazione PDN). Questu pò esse usatu da l'AS per inizià a cumunicazione cù l'UE, o viceversa, per capisce chì a cumunicazione ùn hè più pussibule. Stu tipu di surviglianza hè dispunibule per i dispositi IP è non-IP.

Numero di UE presenti in una zona giugrafica - Stu tipu di surviglianza hè utilizatu da l'AS per determinà u numeru di UE in una certa zona geografica.

Dispositivu attivatu)

In e rete 2G / 3G, a prucedura di registrazione in a reta era in dui fasi: prima, u dispusitivu hà registratu cù u SGSN (procedura di attache), dopu, se ne necessariu, hà attivatu u cuntestu PDP - una cunnessione cù u packet gateway (GGSN) per trasmette dati. In e rete 3G, sti dui prucessi sò accaduti in sequenza, i.e. u dispusitivu ùn hà aspittatu per u mumentu quandu ci vole à trasfiriri dati, ma attivatu PDP subitu dopu à a prucedura attache hè statu finitu. In LTE, sti dui prucedure sò stati cumminati in una, vale à dì, quandu attache, u dispusitivu hà dumandatu immediatamente l'attivazione di a cunnessione PDN (analoga à PDP in 2G / 3G) via l'eNodeB à u MME-SGW-PGW.

NB-IoT definisce un metudu di cunnessione cum'è "attache senza PDN", vale à dì, l'UE attache senza stabilisce una cunnessione PDN. In questu casu, ùn hè micca dispunibule per trasmette u trafficu, è pò solu riceve o mandà SMS. Per mandà un cumandamentu à un tali dispusitivu per attivà PDN è cunnette à AS, a funziunalità "Device triggering" hè stata sviluppata.

Quandu riceve un cumandamentu per cunnette un tali UE da l'AS, SCEF inizia à mandà un SMS di cuntrollu à u dispusitivu attraversu u centru SMS. Quandu riceve un SMS, u dispusitivu attiva u PDN è cunnetta à l'AS per riceve più struzzioni o trasferimentu di dati.

Ci ponu esse volte quandu u vostru abbonamentu di u dispositivu scade in SCEF. Iè, l'abbonamentu hà a so vita propria, stabilita da l'operatore o accunsentutu cù AS. À a scadenza, u PDN serà disattivatu nantu à u MME è u dispusitivu diventerà indisponibile per l'AS. In questu casu, a funziunalità "Device triggering" hà ancu aiutu. Quandu riceve novi dati da AS, SCEF scoprerà u statu di cunnessione di u dispositivu è trasmette i dati via u canali SMS.

cunchiusioni

A funziunalità di SCEF, sicuru, ùn hè micca limitata à i servizii descritti sopra è hè in constante evoluzione è espansione. Attualmente, più di una decina di servizii sò digià standardizati per SCEF. Avà avemu toccu solu nantu à e funzioni principali chì sò in dumanda da i sviluppatori; parleremu di u restu in articuli futuri.

A quistione hè subitu: cumu uttene l'accessu di teste à stu node "miraculu" per a prova preliminare è a debugging di i casi pussibuli? Tuttu hè assai simplice. Ogni sviluppatore pò mandà una dumanda à [email prutettu], in quale hè abbastanza per indicà u scopu di cunnessione, una descrizzione di un casu possibbili è infurmazione di cuntattu per a cumunicazione.

Ci si vede di novu !

Autori:

  • espertu senior di u dipartimentu di suluzioni cunvergenti è servizii multimedia Sergey Novikov sanov,
  • espertu di u dipartimentu di suluzioni cunvergenti è servizii multimediali Alexey Lapshin aslapsh



Source: www.habr.com

Add a comment