È possibile collegare a livello di programmazione metadati personalizzati alle chiamate telefoniche?

6

Sto cercando di determinare se dovrebbe essere possibile per un'app per telefoni cellulari per ritrasmettere dati personalizzati insieme a una telefonata. Con "dovrebbe essere possibile" intendo che non sto cercando di imparare come farlo in iOS / Android / qualunque cosa, sto solo provando a determinare se:

  • È consentito dagli standard: gli standard per i metadati che avviano una telefonata ne consentono l'estensione. (Ho trovato tutti i tipi di informazioni sulle API e sui CDR ad alto livello che vengono mantenute dopo una chiamata, ma nulla nella categoria "questa è l'intestazione dei dati che lascia il telefono quando si effettua una chiamata").
  • Posso essere sicuro che i miei dati personalizzati verranno inoltrati intatti dai nodi della rete cellulare.
  • Questo tipo di funzionalità è tipicamente disponibile per le app (dalla mia ricerca: alcune funzionalità cellulari sono implementate dal firmware, altre funzionalità hanno problemi legali e le sue API sono limitate agli utenti privilegiati).

In breve, ciò che vorrei idealmente sentire è qualcosa del genere: "Quando avvii una telefonata, il telefono genera l'intestazione questa . Questa parte dell'intestazione può essere utilizzata per inviare dati personalizzati, mentre i nodi di rete cellulare non interferiscono con L'API per questo dovrebbe essere disponibile, ad esempio su iOS / Android / qualsiasi cosa abbiamo xyz () ".

    
posta EpsilonVector 16.09.2014 - 23:45
fonte

4 risposte

1

Se vuoi una risposta canonica, penso che potresti aver bisogno di andare ai vari standard che definiscono la rete di telefoni cellulari, come ITU-T, 3GPP , UMTS, ecc. Non sono leggere e alcune sono piuttosto costose da ottenere.

La mia comprensione è che nel classico GSM / 3G / ISDN / UMTS / ecc. avvio della chiamata, ci sono pochissimi metadati oltre il numero di telefono composto: potrebbe esserci un tipo di chiamata (voce / dati), un'estensione / subindirizzo / DID, probabilmente un'indicazione di quale schema di suoneria utilizzare, cose del genere. (E naturalmente in POTS non ci sono affatto metadati.) 3GPP TS 24.008 potrebbe essere un buon posto per iniziare a cercare; contiene i formati dei pacchetti radio effettivi inviati e ricevuti per impostare o abbattere una chiamata vocale.

Non ho familiarità con le interfacce più recenti (4G, LTE, ecc.) e potrebbero essere in grado di trasportare più metadati di chiamata, ma se i metadati inviati da un telefono lo trasmetteranno attraverso la rete a un altro portatile o se qualche i telefoni hanno API per inviare o ricevere quei dati, è un'altra domanda.

    
risposta data 04.10.2014 - 02:56
fonte
1

I metadati di una chiamata saranno solo i dati minimi richiesti per effettuare la chiamata. Quindi le funzionalità del punto di origine e l'endpoint desiderato.

Tutto il resto verrà aggiunto dalla rete e qualsiasi dato aggiuntivo dovrebbe essere rimosso per evitare attacchi XSS come questo su Who.Is.

    
risposta data 03.11.2014 - 08:45
fonte
1

Quindi sono andato a vedere 3GPP TS 24.008 e io trovato:

For mobile stations supporting eMLPP basic calls may optionally have an associated priority level as defined in 3GPP TS 23.067 [88]. This information may also lead to specified qualities of service to be provided by the MM sublayer.

Questo mi ha portato a link ; sembra che questa funzione esista già. Trovare una rete che ti consenta di usarlo è probabilmente un'altra questione.

I messaggi del carico utile reale sono proprio lì nel documento 3GPP, ad es. p371 "Tabella 9.70a / 3GPP TS 24.008: contenuto del messaggio SETUP (stazione mobile verso direzione di rete)" . A prima vista sembra che ci siano campi utilizzabili per le chiamate mobile-mobile come il campo "user-user".

È praticamente garantito che non sarai in grado di alterare questi messaggi senza l'hacking del software in banda base del tuo telefono cellulare. Ciò invaliderebbe la sua certificazione di rete. Sicuramente non sarà disponibile per le app.

    
risposta data 17.11.2014 - 17:55
fonte
0

La mia comprensione è che la commutazione che avviene in background non utilizza nient'altro che il numero di telefono e un breve prefisso. Il prefisso contiene generalmente informazioni di routing.

Quando uno switch riceve un numero, spoglia il prefisso e lo analizza, decide su dove instradare la chiamata e la trasmette. Può o non può aggiungere un altro prefisso che si aspetta che il prossimo router della catena capisca.

Considerato quanto sopra, non sono sicuro di come si possano inserire i metadati nella chiamata.

Fonte: la mia esperienza nella scrittura di software che gestisce le campagne di composizione VOIP e le vendite di itinerari all'ingrosso.

    
risposta data 03.11.2014 - 09:34
fonte

Leggi altre domande sui tag