Skip to content

Receive BSMs over UDP

0111sandesh edited this page Jun 2, 2017 · 4 revisions

Goal

This tests the full end-to-end functionality of the BSM Receiver over UDP. An UPER encoded BSM message will be sent over UDP from an OBU/field device to an instance running the ODE over IPv6. The BSMs are sent directly and does not include trust establishment procedure. Once the ODE receives BSMs, it will publish the BSMs to BSM kafka topics for further processing.

Approach 1 (Using Mocked-up OBU):

This approach uses a mocked-up OBU which continuously sends BSM to ODE.

  1. Get the latest code for ODE from the corresponding branch in an IPv6 supported environment (e.g. Rackspace instance).
  2. Remove the ode portion from docker-compose.yml as ODE will need to be run as a jar file. Running ode inside the docker container caused some issues with retrieving IPV6 address from the packets sent by the Blackbox.
  3. Use an IDE/text editor to open the file OdeProperties.java located in the /jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/OdeProperties.java
  4. Update the field bsmReceiverPort to where you want to receive BSMs from OBU (Default value is 46800). Make sure that the firewall rules allow communication through that UDP ports on the corresponding machine.
  5. Run the following two commands to start ode app and its corresponding modules. Make sure the ppm module is already setup, otherwise ode may fail to start. If ppm module is not already setup, follow the instructions at https://github.com/usdot-jpo-ode/jpo-ode#ppm-module-geofencing-and-filtering
  6. Run docker-compose stop && docker-compose rm -f -v && docker-compose up --build -d && docker-compose ps to run Kafka and ZooKeeper inside docker containers.
  7. Run mvn -DskipTests=true clean package && java -jar jpo-ode-svcs/target/jpo-ode-svcs-0.0.1-SNAPSHOT.jar to run ODE from a jar file.
  8. Open http:https://:8080/ in a browser and click Connect button to subscribe to bsm kafka topic.
  9. Create a separate IPv6 test instance(e.g. Rackspace) to emulate an OBU. If using real OBU to send data, follow the instructions on Approach 2 below.
  10. On the OBU emulator instance, obtain the folder named bsmDepositorToOde from: /jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/bsm/bsmDepositorToOde
  11. From within the bsmDepositorToOde folder, run the following commands:
    a) Command to compile the java file.
    javac -classpath .:commons-codec-1.10.jar BsmDepositorToOde.java
    b) command to start the app. The ode is set to listen for bsms on port 46800 by default.
    java -classpath .:commons-codec-1.10.jar BsmDepositorToOde <odeIp> <OdePort> <SelfPort>
  12. Verify the ODE received the BSMs by checking ode.log as shown in Image_1. The logs should show the ode receiving BSMs over udp.
  13. Also, check the http:https://:8080/ to verify that the BSMs have been received as shown in Image_2.

Approach 2 (Using Real OBU):

This approach uses a real OBU to send multiple BSMS to ODE.

  1. Same as step 1-8 in Approach 1 above.
  2. Start sending BSMs from the Blackbox to ODE on corresponding IPV6 and port(default port is 46800).
  3. Verify the ODE received the BSMs by checking ode.log as shown in Image_1. The logs should show the ode receiving BSMs over udp.
  4. Check the http:https://:8080/ to verify that the BSMs have been received as shown in Image_2.

Image 1: ODE Logs

Image 2: BSM Subscriber Web UI

Releases

Change Notices

Informational Reference

  • Decode a file with asn1c
  • Deposit BSM to S3
  • Docker fix for SSL issues due to corporate network
  • Docker management
  • ECDSA Primer
  • Filter BSMs through PPM module
  • Geofence Filtering for PPM
  • Import BSMs from RSU log file
  • Import TIMs from RSU log file
  • jpo security svcs Integration
  • Link host directory to Docker directory
  • Migrating from SDW websocket depositor to SDW Depositor Submodule
  • ODE Release Deployment
  • ODE Release Preparation
  • Prepare a fresh Ubuntu instance for ODE installation
  • Process for Handling Bugs (Code Defects)
  • Run the ODE using the ASN codec module
  • Query RSU for set TIMs
  • Schema Version 6 Change Notice
  • Signed Message File Import
  • TIM REST Endpoint Changes
  • Using the .env configuration file
  • Using the ODE test harness

Test Procedures

  • Delete TIM on RSU test
  • Event Logger Test
  • Import Decode and Deliver BSM Test
  • Manage SNMP Test
  • Sending PDM to RSU Test
  • Sending TIM to RSU Test
  • Submit_TIM_To_SDW Test

Archived

  • Log File Changes (schemaVersion=4)
  • Receive BSMs over UDP
  • Receive ISD via UDP and deposit to SDC
  • Receive VSD via UDP and deposit to SDC
  • Run the crypto test vectors code with ODE team's OSS encoder
  • SchemaVersion 5 Change Notice
Clone this wiki locally