diff --git a/doc/dialup-overview.txt b/doc/dialup-overview.txt new file mode 100644 index 00000000..f4075600 --- /dev/null +++ b/doc/dialup-overview.txt @@ -0,0 +1,47 @@ +DialUp Networking diagram +========================= + +This diagram explains how oFono and ConnMan are interacting to +handle a data call from a DUN client. +1) GAtServer receive ATD*99#. +2) The GAtPPP server is setup. +3) oFono through GAtPPP notify ConnMan that he needs a TUN/TAP interface. +4) oFono is notified that TUN/TAP interface is created and can start exchanging +PPP packets with DUN client. Those PPP packets are converted into IP stream +and transmitted to/received from TUN/TAP interface. +5) ConnMan is selecting which interface to send IP packets (WiFi, 3G, ethX, ...). + +*----------------* *----------------* +| | ATD*99# | | +| DUN Client |----------->| GAtServer | +| |<---* | | +*----------------* | *----------------* + | | + PPP | | setup_ppp() + Packets | | + | | + | V Need + | *----------------* /dev/net/tun *----------------* + *--->| | interface | | + | GAtPPP |<-------------->| ConnMan | + *--->| | interface | | + | *----------------* created *----------------* + IP | | + Stream | |Create + | *------------------------* |/dev/net/tun + | | | |interface + *--->| TUN/TAP interface |<-----------* + | | + *------------------------* + IP | Stream + routed with | ConnMan rules + *---------------------*--------------------* + | | | + | | | + V V V + *-------------* *-------------* *-------------* + | | | | | | + | WiFi | | Modem | | EthX | + | | | | | | + *-------------* *-------------* *-------------* +