# Enable TelAF RPC Source: [https://docs.qualcomm.com/doc/80-41102-1/topic/enable-telaf-rpc.html](https://docs.qualcomm.com/doc/80-41102-1/topic/enable-telaf-rpc.html) To enable TelAF RPC, run the following command to compile the TelAF simulation image under the TelAF root directory. # In Dev PC HOST make simulac TELAF_SIMULATION_ENABLE_RPC=yCopy to clipboard # In Dev Container cat >> simulation/.simulation.build << EOF export TELAF_SIMULATION_ENABLE_RPC = y EOF echo "make simula-c" > simulation/workstation/.simula.dev.action.sh make simula-xCopy to clipboard The following steps demonstrate how the TelAF RPC works with two docker containers. 1. Start two docker containers by entering `make simula-upx` (instead of `simula-up`). #This command will sequentially open two Docker containers (one master and one slave) make simula-upxCopy to clipboard 2. Following the creation of the containers, the user must proceed to configure TelAF SOME/IP Gateway Service on the master side. To configure SOME/IP Gateway Service (for details, see [TelAF RPC](https://docs.qualcomm.com/doc/80-41102-1/topic/rpc.html)): 1. Use the network tools (such as `ifconfig`) to obtain the real IP address for the current simulation container. 2. Fill the IP address to the `unicast` field of the JSON file (/legato/systems/current/appsWriteable/tafSomeipGWSvc/tafSomeipGWSvc.json) and additionally assign `device` as `eth0` and `id` as `0x0101` in the same JSON file. 3. Add a router by running the command: route add 224.0.0.1 eth0Copy to clipboard 4. Start the TelAF framework in the master container by running the command: telaf startCopy to clipboard 5. Replicate the same steps performed on the master side to configure SOME/IP Gateway Service in the slave container with one exception of entering `0x0102` (instead of `0x0101`) in the `id` field, add the router and then start the TelAF framework. 6. Switch to slave container by entering the command: slaveCopy to clipboard 7. After configuring SOME/IP Gateway Service in the slave container, return to the master container by entering the command: exitCopy to clipboard 8. Configure RPC on the master container by creating a taf\_rpc.json file at /legato/systems/current/appsWriteable/tafRpcProxy with the following configuration: { "systems" : [ { "id" : "0x101", "name" : "SERVER" }, { "id" : "0x102", "name" : "CLIENT" } ], "rpc_services" : [ { "name" : "printer", "user" : "root", "offer_systems" : [ "SERVER" ] } ] }Copy to clipboard 9. Start the TelAF RPC Proxy service in the master container: app start tafRpcProxyCopy to clipboard 10. Switch to the slave container by running the command `slave` and then create a `taf_rpc.json` file at `/legato/systems/current/appsWriteable/tafRpcProxy` with the same configuration as the master, and start the TelAF RPC Proxy in the slave container. 11. Start the RpcPrintClent application in the slave container: app start RpcPrintClientCopy to clipboard 12. Return to the master container from the slave by entering the command `exit` and start the RpcPrintServer application: app start RpcPrintServerCopy to clipboard 13. Run `logread -f | grep HelloWorld` inside the slave container to review the log messages. The user should see the expected log messages as follows: [TelAF Simulation] (slave@192.168.80.2):~ # logread -f |grep HelloWorld Sep 9 07:13:51 simulation user.info TelAF: INFO | client[336]/printClient T=main | client.c TimerHandler() 56 | Sent request: 'HelloWorld_0x4' Sep 9 07:13:51 simulation user.info TelAF: INFO | client[336]/printClient T=main | client.c TimerHandler() 57 | Received response from system(0x101): 'HelloWorld_0x4' Sep 9 07:13:51 simulation user.info TelAF: INFO | client[336]/printClient T=SubThread | client.c TimerHandler() 56 | Sent request: 'HelloWorld_0x5' Sep 9 07:13:51 simulation user.info TelAF: INFO | client[336]/printClient T=SubThread | client.c TimerHandler() 57 | Received response from system(0x101): 'HelloWorld_0x5' Sep 9 07:13:56 simulation user.info TelAF: INFO | client[336]/printClient T=main | client.c TimerHandler() 56 | Sent request: 'HelloWorld_0x6' Sep 9 07:13:56 simulation user.info TelAF: INFO | client[336]/printClient T=main | client.c TimerHandler() 57 | Received response from system(0x101): 'HelloWorld_0x6' Sep 9 07:13:56 simulation user.info TelAF: INFO | client[336]/printClient T=SubThread | client.c TimerHandler() 56 | Sent request: 'HelloWorld_0x7' Sep 9 07:13:56 simulation user.info TelAF: INFO | client[336]/printClient T=SubThread | client.c TimerHandler() 57 | Received response from system(0x101): 'HelloWorld_0x7' Sep 9 07:14:01 simulation user.info TelAF: INFO | client[336]/printClient T=main | client.c TimerHandler() 56 | Sent request: 'HelloWorld_0x8' Sep 9 07:14:01 simulation user.info TelAF: INFO | client[336]/printClient T=main | client.c TimerHandler() 57 | Received response from system(0x101): 'HelloWorld_0x8' Sep 9 07:14:01 simulation user.info TelAF: INFO | client[336]/printClient T=SubThread | client.c TimerHandler() 56 | Sent request: 'HelloWorld_0x9' Sep 9 07:14:01 simulation user.info TelAF: INFO | client[336]/printClient T=SubThread | client.c TimerHandler() 57 | Received response from system(0x101): 'HelloWorld_0x9Copy to clipboard **Parent Topic:** [Features supported by simulation](https://docs.qualcomm.com/doc/80-41102-1/topic/features-supported-by-simulation.html) Last Published: Aug 06, 2026 [Previous Topic Enable Managed Connectivity service](https://docs.qualcomm.com/bundle/publicresource/80-41102-1/topics/enable-managed-connectivity-service.md) [Next Topic Enable Managed Storage service](https://docs.qualcomm.com/bundle/publicresource/80-41102-1/topics/enable_managed_storage_service.md)