A brief overview on the API flow while making an MO Call.
The document is a walk through the code flow of a Call from the user interface (DIALER) to the Telecom Service , then to the Telephony Framework into the RIL(Java.)
Api flow mo ims_call_initiation from telephony _ android Arindom Saikia
A brief overview on the API flow while making an MO Call through IMS in a VOLTE capable Phone.
The document is a walk through the code flow of a Call delegation from Framework to GII and to the vendor IMS applications from GII.
Brief introduction of android telephony framework, detailed analyze of RIL (radio interface layer), and some examples for doing telephony thing in a low layer
There are many books, articles and paper publications about Android and related applications but only a few are related to how Android operating system works internally.In this talk we will see how android boots up , an overview of zygote , how system server and package manager works. This talk will be extremely helpful to foster understanding among android developers about Android Internals as well as everybody else who desires a general understanding of the internal working of Android powered devices.
Api flow mo ims_call_initiation from telephony _ android Arindom Saikia
A brief overview on the API flow while making an MO Call through IMS in a VOLTE capable Phone.
The document is a walk through the code flow of a Call delegation from Framework to GII and to the vendor IMS applications from GII.
Brief introduction of android telephony framework, detailed analyze of RIL (radio interface layer), and some examples for doing telephony thing in a low layer
There are many books, articles and paper publications about Android and related applications but only a few are related to how Android operating system works internally.In this talk we will see how android boots up , an overview of zygote , how system server and package manager works. This talk will be extremely helpful to foster understanding among android developers about Android Internals as well as everybody else who desires a general understanding of the internal working of Android powered devices.
Android is a Linux-based architecture. In addition to the original Linux driver, Android need other additional device driver, like Android Logger, Binder, Low Memory killer, Power Management for android(wakelock), ASHMEM, etc out of which ashmem ,logger and binder are all character device drivers.
For new age touch-based embedded devices, Android is becoming a popular OS going beyond mobile phones. With its roots from Embedded Linux, Android framework offers benefits in terms of rich libraries, open-source and multi-device support. Emertxe’s hands-on Embedded Android Training Course is designed to customize, build and deploy custom Embedded OS on ARM target. Rich set of projects will make your learning complete.
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveBin Chen
SurfaceFlinger is a vital system service in Android system, responsible for the composting all the application and system layer and displaying them. In this slide,we looked in detail how surfaceFlinger was designed from Design Pattern's perspective.
binder-for-linux is an experimental project to evaluate the feasibility of porting Android Binder IPC subsystem to Ubuntu Linux.
GitHub: https://github.com/hungys/binder-for-linux
There is a surge in number of sensors / devices that are getting connected under the umbrella of Internet-Of-Things (IoT). These devices need to be integrated into the Android system and accessed via applications, which is covered in the course. Our Android system development course curriculum over weekends with practicals ensures you learn all critical components to get started.
I have tried to present maximum detail on android booting sequence in a very abstract way. I hope it would be useful. If you find any correction needed please mention it on comments. Happy Coding :)
This presentation covers the working model about Process, Thread, system call, Memory operations, Binder IPC, and interactions with Android frameworks.
Binder is what differentiates Android from Linux, it is most important internal building block of Android, it is a subject every Android programmer should be familiar with
Android is a Linux-based architecture. In addition to the original Linux driver, Android need other additional device driver, like Android Logger, Binder, Low Memory killer, Power Management for android(wakelock), ASHMEM, etc out of which ashmem ,logger and binder are all character device drivers.
For new age touch-based embedded devices, Android is becoming a popular OS going beyond mobile phones. With its roots from Embedded Linux, Android framework offers benefits in terms of rich libraries, open-source and multi-device support. Emertxe’s hands-on Embedded Android Training Course is designed to customize, build and deploy custom Embedded OS on ARM target. Rich set of projects will make your learning complete.
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveBin Chen
SurfaceFlinger is a vital system service in Android system, responsible for the composting all the application and system layer and displaying them. In this slide,we looked in detail how surfaceFlinger was designed from Design Pattern's perspective.
binder-for-linux is an experimental project to evaluate the feasibility of porting Android Binder IPC subsystem to Ubuntu Linux.
GitHub: https://github.com/hungys/binder-for-linux
There is a surge in number of sensors / devices that are getting connected under the umbrella of Internet-Of-Things (IoT). These devices need to be integrated into the Android system and accessed via applications, which is covered in the course. Our Android system development course curriculum over weekends with practicals ensures you learn all critical components to get started.
I have tried to present maximum detail on android booting sequence in a very abstract way. I hope it would be useful. If you find any correction needed please mention it on comments. Happy Coding :)
This presentation covers the working model about Process, Thread, system call, Memory operations, Binder IPC, and interactions with Android frameworks.
Binder is what differentiates Android from Linux, it is most important internal building block of Android, it is a subject every Android programmer should be familiar with
This article introduces IBM WebSphere® Telecom Web Services Server, discusses
integrating its call handling features with media server, and demonstrates how IBM
products serve the end-to-end requirements for next generation network’s (NGN)
telecommunications infrastructure in handling calls on the IP based-network.
You are a new administrator for Contoso, Ltd., working on a test dep.docxmaryettamckinnel
You are a new administrator for Contoso, Ltd., working on a test deployment of the application server technologies included with Windows Server 2008. In this lab, you explore some of the high-availability features included with Windows Server 2008.
LAB CHALLENGE 12.1: CREATING A TERMINAL SERVICES SERVER FARM
Contoso, Ltd. plans to deploy many new workstations using terminal servers to host applications for them. Because multiple terminal servers are needed, your department is exploring the construction of a Windows Server 2008 terminal server farm, consisting of multiple computers balancing the client load between them.
To complete this challenge, you must install and configure Terminal Services on your server and your partner server to create a terminal server farm called FARM##, where ## is the number assigned to the server running the TS Session Broker role service. Use DNS round robin to balance the incoming traffic load between the two servers.
Connect to the server farm using the Remote Desktop Connection client, and use the Terminal Services Manager console to monitor the activity on the server farm.
Document your procedures by listing all of the tasks you completed during installation and configuration. Take screen shots of the Terminal Services Configuration, Terminal Services Manager, and DNS Manager consoles illustrating all of the completed tasks.
When you are finished, remove all of the roles and features you installed on both computers before you proceed to the next exercise.
LAB CHALLENGE 12.2: CREATING A FAILOVER CLUSTER
After suffering a serious server outage, Contoso, Ltd. decided to implement its business-critical applications using failover clusters. You must create a test deployment of a two-node failover cluster on your lab network. To complete this challenge, install the Failover Clustering feature, and use it to validate, create, and configure a failover cluster using your server and your partner server. Give the failover cluster the name Cluster##, where ## is the number assigned to the server on which you created the cluster.
After you complete the configuration process, demonstrate the cluster’s functionality by monitoring the cluster on your server as you move the cluster##other application from one server to the other.
Document your procedures by listing all of the completed installation and configuration tasks. Save the Failover Cluster Validation Report to your Documents folder. Take screen shots of the Failover Cluster Management console illustrating the completed tasks and the cluster’s functionality.
.
This is a 25-slides presentation developed for didactic purposes: making an overview about the AltBeacon technology, focusing on how it can be exploited in an IoT environment.
It's an assignment of "Pervasive System" course at "Sapienza, University of Rome", master degree in "Computer Science", faculty of "Information Enegineering, Informatics and Statistics", A.Y. 2017-2018.
The presentation is divided in 3 main parts:
- Beacon - brief excursus concerning the overall beacon technology.
- AltBeacon - main topic
- Hands-on examples - deals with describing what you can realize with AltBeacon technology in practice and which tools are available to support you in the implementing process.
It's also present a GitHub link to an Android application, developed as main example of the topic, which handles a simple ranging activity with AltBeacon.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
2. The MAIN components
• The DIALER – UI
• TELECOM FRAMEWORK / SERVICES
• TELEPHONY FRAMEWORK / SERVICES
• RADIO INTERFACE LAYER (RIL)
3. The UI or DIALER
~This is the user interface for making a CALL.
~A Call is transferred from the UI( your dialer) to the Android Framework through
Broadcast Actions.
~These Actions are defined in android source and can be found here :Call Defines
• public static final String ACTION_DIAL = "android.intent.action.DIAL";
• public static final String ACTION_CALL = "android.intent.action.CALL";
• public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
These broadcasts along with bundles containing the user data (dialed
number/information)are received by the Telecom service and further processing of the CALL
happens
4. TELECOM
File : Packages/services/Telecomm/AndroidManifest.xml Telecom Manifest
• The Telecom Framework. (Components: Connection Service and InCallUiService). The telecom service , if you see binds to
ITelscomService :
The Telecom Service receives the Call Intent from the Dialer with different
permissions –
5. TELECOM contd..
• The Call Activity. CallActivity.java
• As we reach here, The received intent is processed (the processing
basically checks if something needs to be restored from the bundle, check
privileges, allow/disallow based on restrictions.
• Finally, sendBroadcastAsUser(intent, UserHandle.OWNER); is called.
6. TELECOM Contd ..
CallReceiver.java
• This is the default broadcast receiver for Incoming and Out Going Calls. Here , as we are discussing about outgoing
calls, let us see how that goes ~
7. TELECOM Contd ..
• CallReceiver Continued :
• -----------------------------The descriptions are sin the code are self-explanatory----------------------------
• The NewOutgoingCallBroadcaster further tranfers the call to Call Manager, after its own processing.Check
out the Class to see what things it takes care of : NewOutgoingCallIntentBroadcaster.java
11. TELECOM Contd ..
• CreateConnectionProcessor.java
• It firstly creates and CallAttemptRecord and collects into its list, then process it by a new
class' function ConnectionServiceWrapper.createConnection().
12. TELECOM Contd ..
• CreateConnectionProcessor.java
/* in this API(attemptNextPhoneAccount), A ConnectionServiceWrapper is used[NEXT
SLIDE]. The logic of creation of this Wrapper class, initialization etc. will be discussed
separately. You are welcome to look into the implementation/code yourself.*/
14. TELECOM Contd ..
• ConnectionServiceWrapper.java. See the definition of the class
Here is where the IConnectionService is bound. Check the below Function: It is in the ServiceBinder the class
which is the parent class of ConnectionServiceWrapper.
15. TELECOM Contd ..
• ServiceBinder.java
• Let us check the CreateConnection API in detail. A BinderCallBack object [implemented in ServiceBinder ]
is associated with mBinder. What is mBinder?
~ private Binder2 mBinder = new Binder2() / / code in ConnectionServiceWrapper
~Then, mBinder.bind(callback,call) is done so the callback is associated with the call. We will see
the implementation of Binder2 class in a short while. In the onSuccess() of the Callback,
mServiceInterface.createConnection is done which is actually the implementation in the stub.
• Let us check out the important parts of ServiceBinder.java
16. TELECOM Contd ..
Second, the Binder2 Class. As per the code description, It Performs an asynchronous bind to the
Service and executes the specific callback. Let us go step by step with it here –
~ mCallbacks.add(callback); -
~ setBinder(binder); -- > setServiceInterface(binder); //in the child class where we retrieve
IConnnectionnService as interface.
~ ServiceConnection connection = new ServiceBinderConnection(call);
~ mContext.bindService(serviceIntent, connection, bindingFlags);
~ private final class ServiceBinderConnection implements ServiceConnection { …
~ handleFailedConnection(); -- > callback.onSuccess(); // Call back that was bound to.
ServiceConnected(ComponentName..
17. TELECOM Contd ..
• The Actual implmementation of the IConnectionService –
• Check the Constructor of connection Service Wrapper. Look for :
super(ConnectionService.SERVICE_INTERFACE, componentName, context, userHandle);
• Check frameworks/base/telecomm/java/android/telecom/ConnectionService.java
• As I have already pointed out, this service is bound in the Binder2 class of ServiceBinder.java and through
the following call mServiceInterface is obtained.
(Check previous Slides)
setBinder(binder); -- > setServiceInterface(binder); //in the child class where we retrieve
IConnnectionnService as interface.
• So, there it is , Telecom is all set to transfer the call to Telephony now which implements the
ConnectionService.
18. Telephony FW
• Here, the android.telecom.ConnectionService is registered.
This is extended by TelephonyConnectionService.java
From here, Connection onCreateIncomingConnection will call
placeOutgoingConnection() and will transfer the Call to the Target Phone.
19. Telephony FW
*Here is to note that the target phone is made at the boot time based on the NW
TYPE the phone latches to. It can be of type – GSM, CDMA or IMS. The instance of
the PHONE is provided to TelephonyConnectionService with the PhoneFactory Class.
The discussion about creation of Phone object will be left for another day.
TelephonyConnectionService.java
20. Telephony FW
The Phone Call in PHONE.
Let us assume, we have a GSM Phone as our Active Phone. Now, DIAL(..) will
come here.
GSMPhone.java
From GSMPhone , the Call is transferred to the CallTracker, where we have
the RIL Command interfaces implemented, which in turn transfers the Call to
modem through the RIL command interface.
21. Telephony FW
• GsmCallTracker.java
• public CommandsInterface mCM; is associated with each Phone which is
the connection point to RIL.java. You can find and understand it in
PhoneBase.java. The implementation of Commands Interface is in RIL.java
22. Telephony FW(RIL-J)
• Commands Interface Implementation and DIAL and request to RILD through socket. The details are for
another day.
RIL.java
23. Thank You
• So, that was a very brief overview of the flow of APIs for an
Android Outgoing CALL. Going forward we will discuss about the
RIL and the PHONE class hierarchy in a detailed fashion.
• The above slides were based on Android (N) code. There is a
major change in OOS architecture as far as the Radio interface is
concerned. We shall discuss that too in the future.
• Credits : Android Open Source Project.