Homer / heplify-server: correlation of in- and outbound leg (regarding Asterisk 18 / pjsip)

Hello!

I’m currently trying to configure homer (7.1.x) / heplify-server to correlate e.g. two legs of a call (trivial example: outbound call - Leg 1 from phone to Asterisk, Leg 2 from Asterisk to trunk provider). That’s unfortunately not easy in conjunction with Asterisk, because Asterisk always sends the CID as part of the HEP protocol to heplify-server - that’s why things are more complex with Asterisk and Homer (according several tickets and comments on Homer). Unfortunately, I didn’t found any viable (= complete) documentation related to actual versions of Homer and Asterisk addressing this problem.

Goal:
If you click on one method in the “call sip search” result view, you always get the other complementary leg in the sip flow view.

What I actually achieved:
By adding X-CID header to the outbound call or the inbound call to the Invite, Homer is now able to correlate Leg 2 to Leg 1 (means: clicking on a method of Leg 2 brings up Leg 1, too, in the flow view).

What does actually not work:
If you click on a method of Leg 1, you don’t get Leg 2 in the flow view.
Or in short:
Leg 2 “finds” Leg 1, but Leg 1 doesn’t “find” Leg 2.

The question is: How can I achieve, that Leg 1 knows about Leg 2 in Homer?

The current configuration of heplify-server (/etc/heplify-server.toml):

AlegIDs               = ["X-CID"]
ForceALegID           = true

The mapping in Homer call -> Correlation, I added at the beginning:

    {
        "source_field": "data_header.callid",
        "lookup_id": 1,
        "lookup_profile": "call",
        "append_sid": true,
        "lookup_field": "data_header->>'X-CID'",
        "lookup_range": [
            -300,
            200
        ]
    },
    {
        "source_field": "data_header.X-CID",
        "lookup_id": 1,
        "lookup_profile": "call",
        "append_sid": true,
        "lookup_field": "data_header->>'X-CID'",
        "lookup_range": [
            -300,
            200
        ]
    },
    {
        "source_field": "data_header.X-CID",
        "lookup_id": 1,
        "lookup_profile": "call",
        "append_sid": true,
        "lookup_field": "data_header->>'callid'",
        "lookup_range": [
            -300,
            200
        ]
    },
    {
        "source_field": "data_header.callid",
        "lookup_id": 1,
        "lookup_profile": "call",
        "lookup_field": "sid",
        "lookup_range": [
            -300,
            200
        ]
    },

Does anybody has any idea to achieve the desired goal? Leg 1 “finds” Leg 2?

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.