Comments (6)
I did a pcap and see Kamailio is sending the PUBLISH message to Homer on port 9060.
I am attaching it here.
from homer.
After consideration, I think the issue is with Homer and/or Heplify.
I recall being told SIP messages need to be encapsulated into HEP to be Read by Homer.
From using sngrep, I now see the Asterisk is sending SIP PUBLISH messages encapsulated into HEP because I have HEP enabled on Asterisk.
What I have tried:
-
SIP Phone with RTCP=XR (192.168.1.105) <->Asterisk w/HEP (192.168.174 ) <-> Homer (192.168.1.24:9060)
-
SIP Phone with RTCP=XR (192.168.1.105 [indicating on phone to send packets to 192.168.1.24:5060) <->Asterisk w/HEP (192.168.174 ) <-> Homer(192.168.1.24:9060)/Kamailio Homer (192.168.1.24:9060)
So what is going on? Why is RTXP-XR not getting into Homer?
I am thinking this is a bug.
from homer.
Thanks for opening an issue to discuss this.
I recall being told SIP messages need to be encapsulated into HEP to be Read by Homer.
I think there's quite a bit of confusion here. HEP is our encapsulation format and its used by our integrtations. RTCP-XR are out-of-band messages, not part of the SIP session. Sending them to HOMER as HEP will only have them ingested, and not interpreted. HOMER is not a collector of RTCP messages.
In the past I ran Negbie's hepify-xrcollector-test in which that table is filled with RTCP-XR data from the test program.
That's right. You can use the heplify-xrcollector
to extract the XR values into a native format. Have you tried doing so?
TODO
- Update Documentation with an actually working recipe!
from homer.
RTCP-XR may not be SIP, but I can see they are sent as PUBLISH messages within SIP. So this is really confusing.
I recall seeing this proclaiming Homer can do it, but there really was no explanation how it was done, and this presentation was done before HEP even existed.
https://youtu.be/N76odN3z9iU?si=Of0jxfipBSOQ5Gcz.
That's right. You can use the
heplify-xrcollector
to extract the XR values into a native format. Have you tried doing so?
Yes, I have, but I saw no RTCP-XR being displayed in Homer
I can do another test and present the results here.
However, what do you mean by "extract the XR values into a native format"?
from homer.
Let's go step by step to get this working
RTCP-XR may not be SIP, but I can see they are sent as PUBLISH messages within SIP. So this is really confusing.
Right. SIP PUBLISH/NOTIFY out-of-band messages are used as "transport" to deliver the RTCP statistics from the client inside the message body. Unlike other SIP messages, those are usually handled "destructively" by extracting the values and converting them to a HEP TYPE 5 media report correlated to the originating session(s) and discarding the vector message(s).
As you know - HOMER is NOT a SIP server and it cannot receive SIP messages directly and provide a response to a public client - this is why we prefer the gateway approach as a parallel service (which can be done in many ways, including xrcollector or by using Kamailio/OpenSIPS to form the media report) into a HEP TYPE 5 (RTCP) report which can be received, stored and used by our stack. This allows scaling the approach and controlling resources without exposing HEP services, etc.
I can do another test and present the results here.
Yes please! Let's see where this fails - if its our fault a fix will be in order and if the instructions are inaccurate we'll fix them up.
Thanks!
from homer.
Here are my current test results based on Asterisk still sending to Kamailio, with Kamailio still sending to Homer, and the telephone sending to the heplify-xrcollector.
Asterisk: 192.168.1.74
Homer: 192.168.1.24:9060
heplify-xrcollector: 192.168.1.24:9064
Kamailio: 192.168.1.24:5060
Telephone: 192.168.1.105
Results from heplify-xrcollector
./heplify-xrcollector -xs :9064
2024/05/06 10:28:36 Received packet with 1727 bytes from 192.168.1.105:5060
2024/05/06 10:28:36 Sent back OK with 335 bytes to 192.168.1.105:5060
2024/05/06 10:28:37 Received packet with 1727 bytes from 192.168.1.105:5060
2024/05/06 10:28:37 Sent back OK with 335 bytes to 192.168.1.105:5060
2024/05/06 10:28:38 Received packet with 1727 bytes from 192.168.1.105:5060
2024/05/06 10:28:38 Sent back OK with 335 bytes to 192.168.1.105:5060
2024/05/06 10:28:40 Received packet with 1727 bytes from 192.168.1.105:5060
2024/05/06 10:28:40 Sent back OK with 335 bytes to 192.168.1.105:5060
2024/05/06 10:28:44 Received packet with 1727 bytes from 192.168.1.105:5060
2024/05/06 10:28:44 Sent back OK with 335 bytes to 192.168.1.105:5060
2024/05/06 10:28:48 Received packet with 1727 bytes from 192.168.1.105:5060
2024/05/06 10:28:48 Sent back OK with 335 bytes to 192.168.1.105:5060
2024/05/06 10:28:52 Received packet with 1727 bytes from 192.168.1.105:5060
2024/05/06 10:28:52 Sent back OK with 335 bytes to 192.168.1.105:5060
2024/05/06 10:28:56 Received packet with 1727 bytes from 192.168.1.105:5060
2024/05/06 10:28:56 Sent back OK with 335 bytes to 192.168.1.105:5060
2024/05/06 10:29:00 Received packet with 1727 bytes from 192.168.1.105:5060
2024/05/06 10:29:00 Sent back OK with 335 bytes to 192.168.1.105:5060
2024/05/06 10:29:04 Received packet with 1727 bytes from 192.168.1.105:5060
2024/05/06 10:29:04 Sent back OK with 335 bytes to 192.168.1.105:5060
2024/05/06 10:29:08 Received packet with 1727 bytes from 192.168.1.105:5060
2024/05/06 10:29:08 Sent back OK with 335 bytes to 192.168.1.105:5060
Looking inside table hep_proto_35_default:
homer_data=# select * from hep_proto_35_default;
id | sid | create_date | protocol_header | data_header | raw
----+----------------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------
1 | [email protected] | 2024-05-06 14:37:58.303236+00 | {"dstIp": "2.2.2.2", "srcIp": "1.1.1.1", "dstPort": 2222, "srcPort": 1111, "protocol": 17, "captureId": "3333", "payloadType": 35, "timeSeconds": 1715006278, "timeUseconds": 303236, "correlation_id": "[email protected]", "protocolFamily": 2} | {"node": "3333", "proto": "rtcpxr"} | PUBLISH sip:[email protected]:9064 SIP/2.0\r +
| | | | | Via: SIP/2.0/UDP 192.168.1.105:5060;branch=z9hG4bK1313213143\r +
| | | | | From: "3003" sip:[email protected]:5060;tag=332807475\r +
| | | | | To: sip:[email protected]:9064\r +
| | | | | Call-ID: [email protected]\r +
| | | | | CSeq: 1 PUBLISH\r +
| | | | | Contact: sip:[email protected]:5060\r +
| | | | | Content-Type: application/vq-rtcpxr\r +
| | | | | Allow: INVITE, INFO, PRACK, ACK, BYE, CANCEL, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE, REFER, PUBLISH, UPDATE, MESSAGE\r+
| | | | | Max-Forwards: 70\r +
| | | --More--
Looking at Homer:
So, where is the RCTP-XR data supposed to be shown?
P.S. "and if the instructions are inaccurate..." What instructions?
from homer.
Related Issues (20)
- homer UI only displaying 200 records HOT 5
- unable to see any invite in homer dashboard HOT 1
- Homer7 sometimes don´t collect media stream info HOT 1
- Heplify-server doesn't insert HEP packets from Kamailio siptrace HOT 4
- 400 bad request returned by UI HOT 1
- Homer 10 - Call Flow - Sorting Issues/Wrong Order HOT 19
- homer-app fails to start (code=exited, status=2) HOT 4
- Web UI possiility to reset password on first sign-in and maybe delete support user HOT 1
- iptables-persistent and Homer problem ? HOT 2
- Diversion standard SIP header in form and result HOT 3
- Fresh install - default username and password don't work HOT 2
- add transport protocol as a label HOT 1
- Question on RTPProxy HEP module HOT 7
- Follow up Question - dumping/importing homer_config mapping_schema HOT 3
- Cutting SIP and SDP header in HEP message HOT 3
- Can MRCP protocol between the voice platform and ASR be monitored? HOT 1
- Make calls searchable by duration HOT 3
- How to connect HOMER 7 to external DB HOT 2
- Homer empty with asterisk 17 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from homer.