SOME/IP
EcuBus-Pro supports the SOME/IP protocol and can be used for developing and testing SOME/IP-enabled devices.
Configuration
EcuBus-Pro's SOME/IP functionality is based on vSomeIP. For configuration details that are unclear, please refer to the vSomeIP Configuration Documentation.
Add SOME/IP Configuration
Add a SOME/IP configuration by clicking SOA -> SOA Config -> Add SOME/IP Configuration.

Configure SOME/IP
Click a SOME/IP configuration item to open its settings.

Device Configuration
Each SOME/IP configuration must bind to one Ethernet device.
- Select the NIC used for SOME/IP communication.
- Verify local IP and subnet are reachable from the target ECU/service.
- In multi-NIC environments, explicitly bind to the NIC used for test traffic.
Application Configuration
Each SOME/IP configuration corresponds to one application and requires an Application ID.
- Application ID range:
1to65535 - The value must be unique in the same runtime context.
- It should match your vSomeIP runtime expectation when integrating with external services.
Service Discovery Configuration
This section controls whether SOME/IP Service Discovery (SD) is enabled.
If SD is enabled, configure multicast and timing settings (for example multicast address, SD port, offer/request timing, and TTL).
TIP
If service discovery is enabled, you may need multicast routing/firewall configuration on your computer.
Service Configuration

For each service, configure:
- Service ID - The unique identifier for the service, ranging from 1-65535
- Service Instance ID - The unique identifier for the service instance, ranging from 1-65535
- Whether to enable TCP reliable transmission and the corresponding port number
- Whether to enable UDP unreliable transmission and the corresponding port number
SOME/IP Interactor
Use SOME/IP Interactor to quickly send SOME/IP actions and inspect responses/messages.

Interactor Configuration
Hover over the interactor block and click Edit.
Connection Configuration


Edit Request
TIP
Selecting requests from the database is not currently supported.

Common Action Flow (Subscribe Before Notify)
For event-based communication, use this sequence:
- Configure a
subscribeaction (someipOp=subscribe) for the target Service/Instance/Event Group. - Execute the subscribe action first and confirm subscription succeeds.
- Trigger or wait for remote notify messages.
- Observe messages in Trace or in the Interactor response area.
IMPORTANT
If you do not subscribe first, notify messages are typically not delivered to the client.


Recommended Validation Checklist
- Service/Instance/Method/Event Group IDs match on both sides.
- Local NIC/IP binding is correct.
- UDP/TCP ports are consistent with remote service.
- Service Discovery multicast settings are reachable.
- Firewall allows SOME/IP and SD traffic.
SOME/IP Script
Util.OnSomeipMessage Listen to SOME/IP Messages
Listen to SOME/IP messages. When a SOME/IP message is received, the callback function will be called.
// Listen to all SOME/IP messages
Util.OnSomeipMessage(true, (msg) => {
console.log('Received SOMEIP message:', msg);
});
// Listen to SOME/IP messages for a specific service/instance/method
Util.OnSomeipMessage('0034.5678.90ab', (msg) => {
console.log('Received specific SOMEIP message:', msg);
});
// Listen to SOME/IP messages for a specific service with wildcards
Util.OnSomeipMessage('0034.*.*', (msg) => {
console.log('Received specific SOMEIP message:', msg);
});output Output SOME/IP Messages
Output SOME/IP messages. You can output SOME/IP requests and SOME/IP responses.
import { SomeipMessageRequest, SomeipMessageResponse, output } from 'ECB'
Util.OnSomeipMessage('1234.*.*', async (msg) => {
if (msg instanceof SomeipMessageRequest) {
const response = SomeipMessageResponse.fromSomeipRequest(msg)
await output(response)
}
})