26 Commits

Author SHA1 Message Date
梁超
4ef6c25e69 Merge branch 'bugfix/addsipfield' into 'master'
bugfix: add sip field "sip_bye_reason"

See merge request galaxy/tsg_olap/sip-rtp-correlation!33
2024-08-21 07:46:09 +00:00
wangshuo
2d5f20362b bugfix: add sip field "sip_bye_reason" 2024-08-21 15:42:46 +08:00
wangshuo
515a0ab312 bugfix: add sip field "sip_bye_reason" 2024-08-21 15:29:27 +08:00
wangshuo
9d0085a57c bugfix: add sip field "sip_bye_reason" 2024-08-21 14:24:17 +08:00
梁超
000436ec34 Merge branch 'bugfix/voip-fields' into 'master'
bugfix: add field for 'VoIP' records

See merge request galaxy/tsg_olap/sip-rtp-correlation!32
2024-07-23 07:39:33 +00:00
chaochaoc
319c73ec0a bugfix: add field for 'VoIP' records 2024-07-23 15:37:48 +08:00
梁超
9a39b814e6 Merge branch 'bugfix/field-error' into 'master'
bugfix: modify field 'decode_as' to 'decoded_as'

See merge request galaxy/tsg_olap/sip-rtp-correlation!31
2024-07-23 06:21:19 +00:00
chaochaoc
522fb51195 bugfix: modify field 'decode_as' to 'decoded_as' 2024-07-23 14:19:14 +08:00
梁超
59adef9271 Merge branch 'bugfix/e2e-test' into 'master'
bugfix: remove `log_id`, `recv_time` non-null constraint

See merge request galaxy/tsg_olap/sip-rtp-correlation!30
2024-07-22 10:10:36 +00:00
chaochaoc
7c5c71cb8e bugfix: remove log_id, recv_time non-null constraint 2024-07-22 18:08:30 +08:00
梁超
4ec71d4d6f Merge branch 'bugfix/expired-state' into 'master'
bugfix: fix expired state

See merge request galaxy/tsg_olap/sip-rtp-correlation!29
2024-07-22 08:54:21 +00:00
chaochaoc
53ffcca70d chore: update ci 2024-07-22 16:52:56 +08:00
chaochaoc
068124bf3f chore: update repo 2024-07-22 16:45:26 +08:00
chaochaoc
21a0d8c57e chore: update docker image 2024-07-22 16:32:45 +08:00
chaochaoc
96a845510d chore: update docker image 2024-07-22 16:10:04 +08:00
chaochaoc
6b63e26741 chore: update nexus server url 2024-07-22 15:25:02 +08:00
chaochaoc
4ce6c1ba14 bugfix: fix expired state 2024-07-22 15:19:36 +08:00
梁超
8b2f8b4fb8 Merge branch 'release/2.0' into 'master'
feat: release 2.0-rc2

See merge request galaxy/tsg_olap/sip-rtp-correlation!28
2024-07-02 03:10:53 +00:00
chaochaoc
9574045662 docs: update doc 2024-07-02 11:08:52 +08:00
chaochaoc
56b0600cc8 chore: exclude runtime dependencies 2024-07-02 11:08:26 +08:00
梁超
2eab8bae49 Merge branch 'release/2.0' into 'master'
merge: 2.0

See merge request galaxy/tsg_olap/sip-rtp-correlation!27
2024-07-01 10:10:03 +00:00
chaochaoc
4417df5a7b chore: update version 2024-07-01 18:08:29 +08:00
chaochaoc
bad0f118d1 chore: update easy version 2024-07-01 18:05:40 +08:00
chaochaoc
05b853ce8e chore: update ci conf 2024-07-01 17:57:47 +08:00
chaochaoc
3c9a843572 [GAL-602] doc: update download doc 2024-07-01 17:51:10 +08:00
chaochaoc
64a0cf9ba5 [GAL-602] style: update jobs connect info 2024-07-01 17:50:45 +08:00
8 changed files with 149 additions and 99 deletions

View File

@@ -1,4 +1,4 @@
image: 192.168.40.153:9080/common/maven:3.8.1-openjdk-11-slim-with-git
image: 192.168.40.153:8082/common/maven:3.8.1-openjdk-11-slim
variables:
MAVEN_CLI_OPTS: "--batch-mode --errors --show-version"
@@ -8,16 +8,10 @@ stages:
- test
- build
snapshot-version:
stage: check
script:
- mvn $MAVEN_CLI_OPTS enforcer:enforce@snapshot-version-check
rules:
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" && $CI_PIPELINE_SOURCE == "merge_request_event"
non-snapshot-version:
release-version-check:
stage: check
script:
- echo "$MAVEN_SETTINGS_XML" > /usr/share/maven/conf/settings.xml
- mvn $MAVEN_CLI_OPTS enforcer:enforce@release-version-check
- |-
if `mvn $MAVEN_CLI_OPTS dependency:get@release-deploy-check > /dev/null 2>&1`; then
@@ -27,21 +21,20 @@ non-snapshot-version:
echo "The current version has not been deployed."
fi
rules:
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /(^master$|^release\/)/ && $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" && $CI_PIPELINE_SOURCE == "merge_request_event"
test:
stage: test
script:
- echo "$MAVEN_SETTINGS_XML" > /usr/share/maven/conf/settings.xml
- mvn $MAVEN_CLI_OPTS clean test
only:
- merge_requests
# Used for building snapshot versions on the develop branch.
build:
stage: build
script:
- echo "$MAVEN_SETTINGS_XML" > /usr/share/maven/conf/settings.xml
- mvn clean site deploy -DskipTests
only:
- master
- /^release\//
- master

48
pom.xml
View File

@@ -7,7 +7,7 @@
<groupId>com.geedgenetworks.application</groupId>
<artifactId>sip-rtp-correlation</artifactId>
<version>2.0-SNAPSHOT</version>
<version>2.0-rc7</version>
<name>Flink : SIP-RTP : Correlation</name>
@@ -19,7 +19,7 @@
<scala.version>2.12.10</scala.version>
<scala.binary.version>2.12</scala.binary.version>
<flink.version>1.13.6</flink.version>
<easy.stream.version>1.3-SNAPSHOT</easy.stream.version>
<easy.stream.version>1.3-rc1</easy.stream.version>
<slf4j.version>1.7.32</slf4j.version>
<log4j.version>2.17.1</log4j.version>
<junit.version>5.8.0</junit.version>
@@ -28,35 +28,21 @@
<distributionManagement>
<repository>
<id>platform-releases</id>
<url>http://192.168.40.153:8099/content/repositories/platform-release</url>
<url>http://192.168.40.153:8081/content/repositories/platform-release</url>
<uniqueVersion>true</uniqueVersion>
</repository>
<snapshotRepository>
<id>platform-snapshots</id>
<url>http://192.168.40.153:8099/content/repositories/platform-snapshot</url>
<url>http://192.168.40.153:8081/content/repositories/platform-snapshot</url>
</snapshotRepository>
<site>
<id>platform-site</id>
<url>
dav:http://192.168.40.153:8099/content/sites/platform-site/platform/application/sip-rtp-correlate-${project.version}
dav:http://192.168.40.153:8081/content/sites/platform-site/platform/application/sip-rtp-correlate-${project.version}
</url>
</site>
</distributionManagement>
<repositories>
<repository>
<id>central</id>
<url>http://192.168.40.153:8099/content/groups/public</url>
</repository>
<repository>
<id>snapshots</id>
<url>http://192.168.40.153:8099/content/groups/public</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
@@ -337,13 +323,13 @@
<groupId>org.apache.flink</groupId>
<artifactId>flink-runtime_${scala.binary.version}</artifactId>
<version>${flink.version}</version>
<scope>runtime</scope>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-runtime-web_${scala.binary.version}</artifactId>
<version>${flink.version}</version>
<scope>runtime</scope>
<scope>provided</scope>
</dependency>
<dependency>
@@ -587,6 +573,26 @@
<pluginManagement>
<plugins>
<!-- CI plugins -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<id>release-deploy-check</id>
<goals>
<goal>get</goal>
</goals>
<configuration>
<groupId>${project.groupId}</groupId>
<artifactId>easy-stream-common</artifactId>
<version>${project.version}</version>
<remoteRepositories>${project.distributionManagement.repository.url}</remoteRepositories>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>

View File

@@ -12,18 +12,18 @@ source:
option:
topic: VOIP-RECORD
properties:
bootstrap.servers: 192.168.44.12:9094
bootstrap.servers: localhost:9092
group.id: sip-rtp-correlation
security.protocol: SASL_PLAINTEXT
sasl.mechanism: PLAIN
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="galaxy2019";
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="example" password="example";
format: json
schema:
## General
- name: recv_time
data-type: BIGINT NOT NULL
data-type: BIGINT
- name: log_id
data-type: BIGINT NOT NULL
data-type: BIGINT
- name: decoded_as
data-type: STRING NOT NULL
- name: session_id
@@ -278,6 +278,8 @@ source:
data-type: INT
- name: sip_bye
data-type: STRING
- name: sip_bye_reason
data-type: STRING
## RTP
- name: rtp_payload_type_c2s
data-type: INT
@@ -294,36 +296,36 @@ sink:
type: kafka
on: errors-records
option:
topic: VOIP-CONVERSATTON-RECORD
topic: VOIP-CONVERSATION-RECORD
properties:
bootstrap.servers: 192.168.44.12:9094
bootstrap.servers: localhost:9092
security.protocol: SASL_PLAINTEXT
sasl.mechanism: PLAIN
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="galaxy2019";
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="example" password="example";
format: json
# 关联成功的 VOIP
- name: only-voip-records
on: voip-fusion.ok
type: kafka
option:
topic: VOIP-CONVERSATTON-RECORD
topic: VOIP-CONVERSATION-RECORD
properties:
bootstrap.servers: 192.168.44.12:9094
bootstrap.servers: localhost:9092
security.protocol: SASL_PLAINTEXT
sasl.mechanism: PLAIN
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="galaxy2019";
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="example" password="example";
format: json
# 没有关联成功的 SIP 和 RTP
- name: fusion-fail-records
on: cannot-fusion-records
type: kafka
option:
topic: VOIP-CONVERSATTON-RECORD
topic: VOIP-CONVERSATION-RECORD
properties:
bootstrap.servers: 192.168.44.12:9094
bootstrap.servers: localhost:9092
security.protocol: SASL_PLAINTEXT
sasl.mechanism: PLAIN
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="galaxy2019";
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="example" password="example";
format: json
pipeline:
@@ -363,13 +365,13 @@ pipeline:
cache:
- name: v1
type: VALUE
ttl: 1 minute
ttl: 2 minute
schema:
## General
- name: recv_time
data-type: BIGINT NOT NULL
data-type: BIGINT
- name: log_id
data-type: BIGINT NOT NULL
data-type: BIGINT
- name: decoded_as
data-type: STRING NOT NULL
- name: session_id
@@ -623,6 +625,8 @@ pipeline:
data-type: INT
- name: sip_bye
data-type: STRING
- name: sip_bye_reason
data-type: STRING
## RTP
- name: rtp_payload_type_c2s
data-type: INT
@@ -654,6 +658,7 @@ pipeline:
FIND_NOT_BLANK(@v1.$sip_responder_sdp_content, sip_responder_sdp_content) AS sip_responder_sdp_content,
@v1.$sip_duration_s + sip_duration_s AS sip_duration_s,
FIND_NOT_BLANK(@v1.$sip_bye, sip_bye) AS sip_bye,
FIND_NOT_BLANK(@v1.$sip_bye_reason, sip_bye_reason) AS sip_bye_reason,
rtp_payload_type_c2s,
rtp_payload_type_s2c,
rtp_pcap_path,
@@ -796,6 +801,7 @@ pipeline:
@v1.$sip_responder_sdp_content AS sip_responder_sdp_content,
@v1.$sip_duration_s AS sip_duration_s,
@v1.$sip_bye AS sip_bye,
@v1.$sip_bye_reason AS sip_bye_reason,
@v1.$rtp_payload_type_c2s AS rtp_payload_type_c2s,
@v1.$rtp_payload_type_s2c AS rtp_payload_type_s2c,
@v1.$rtp_pcap_path AS rtp_pcap_path,
@@ -806,13 +812,13 @@ pipeline:
cache:
- name: sip
type: VALUE
ttl: 6 minute
ttl: 7 minute
schema:
## General
- name: recv_time
data-type: BIGINT NOT NULL
data-type: BIGINT
- name: log_id
data-type: BIGINT NOT NULL
data-type: BIGINT
- name: decoded_as
data-type: STRING NOT NULL
- name: session_id
@@ -1066,6 +1072,8 @@ pipeline:
data-type: INT
- name: sip_bye
data-type: STRING
- name: sip_bye_reason
data-type: STRING
## RTP
- name: rtp_payload_type_c2s
data-type: INT
@@ -1077,13 +1085,13 @@ pipeline:
data-type: INT
- name: rtp
type: LIST
ttl: 6 minute
ttl: 7 minute
schema:
## General
- name: recv_time
data-type: BIGINT NOT NULL
data-type: BIGINT
- name: log_id
data-type: BIGINT NOT NULL
data-type: BIGINT
- name: decoded_as
data-type: STRING NOT NULL
- name: session_id
@@ -1337,6 +1345,8 @@ pipeline:
data-type: INT
- name: sip_bye
data-type: STRING
- name: sip_bye_reason
data-type: STRING
## RTP
- name: rtp_payload_type_c2s
data-type: INT
@@ -1358,7 +1368,7 @@ pipeline:
FLAT OUTPUT ok FOR i IN rtp FROM
@i.$recv_time AS recv_time,
@i.$log_id AS log_id,
'VoIP' AS decode_as,
'VoIP' AS decoded_as,
@i.$session_id AS session_id,
@i.$start_timestamp_ms AS start_timestamp_ms,
@i.$end_timestamp_ms AS end_timestamp_ms,
@@ -1411,21 +1421,8 @@ pipeline:
@i.$sent_bytes AS sent_bytes,
@i.$received_bytes AS received_bytes,
@i.$sip_call_id AS sip_call_id,
@i.$sip_originator_description AS sip_originator_description,
@i.$sip_responder_description AS sip_responder_description,
@i.$sip_user_agent AS sip_user_agent,
@i.$sip_server AS sip_server,
@i.$sip_originator_sdp_connect_ip AS sip_originator_sdp_connect_ip,
@i.$sip_originator_sdp_media_port AS sip_originator_sdp_media_port,
@i.$sip_originator_sdp_media_type AS sip_originator_sdp_media_type,
@i.$sip_originator_sdp_content AS sip_originator_sdp_content,
@i.$sip_responder_sdp_connect_ip AS sip_responder_sdp_connect_ip,
@i.$sip_responder_sdp_media_port AS sip_responder_sdp_media_port,
@i.$sip_responder_sdp_media_type AS sip_responder_sdp_media_type,
@i.$sip_responder_sdp_content AS sip_responder_sdp_content,
@i.$sip_duration_s AS sip_duration_s,
@i.$sip_bye AS sip_bye,
withColumns(sip_call_id to sip_bye_reason),
@i.$rtp_payload_type_c2s AS rtp_payload_type_c2s,
@i.$rtp_payload_type_s2c AS rtp_payload_type_s2c,
@i.$rtp_pcap_path AS rtp_pcap_path,
@@ -1443,7 +1440,7 @@ pipeline:
FLAT OUTPUT ok FOR i IN rtp FROM
@i.$recv_time AS recv_time,
@i.$log_id AS log_id,
'VoIP' AS decode_as,
'VoIP' AS decoded_as,
@i.$session_id AS session_id,
@i.$start_timestamp_ms AS start_timestamp_ms,
@i.$end_timestamp_ms AS end_timestamp_ms,
@@ -1496,25 +1493,27 @@ pipeline:
@i.$sent_bytes AS sent_bytes,
@i.$received_bytes AS received_bytes,
@i.$sip_call_id AS sip_call_id,
@i.$sip_originator_description AS sip_originator_description,
@i.$sip_responder_description AS sip_responder_description,
@i.$sip_user_agent AS sip_user_agent,
@i.$sip_server AS sip_server,
@i.$sip_originator_sdp_connect_ip AS sip_originator_sdp_connect_ip,
@i.$sip_originator_sdp_media_port AS sip_originator_sdp_media_port,
@i.$sip_originator_sdp_media_type AS sip_originator_sdp_media_type,
@i.$sip_originator_sdp_content AS sip_originator_sdp_content,
@i.$sip_responder_sdp_connect_ip AS sip_responder_sdp_connect_ip,
@i.$sip_responder_sdp_media_port AS sip_responder_sdp_media_port,
@i.$sip_responder_sdp_media_type AS sip_responder_sdp_media_type,
@i.$sip_responder_sdp_content AS sip_responder_sdp_content,
@i.$sip_duration_s AS sip_duration_s,
@i.$sip_bye AS sip_bye,
@sip.$sip_call_id AS sip_call_id,
@sip.$sip_originator_description AS sip_originator_description,
@sip.$sip_responder_description AS sip_responder_description,
@sip.$sip_user_agent AS sip_user_agent,
@sip.$sip_server AS sip_server,
@sip.$sip_originator_sdp_connect_ip AS sip_originator_sdp_connect_ip,
@sip.$sip_originator_sdp_media_port AS sip_originator_sdp_media_port,
@sip.$sip_originator_sdp_media_type AS sip_originator_sdp_media_type,
@sip.$sip_originator_sdp_content AS sip_originator_sdp_content,
@sip.$sip_responder_sdp_connect_ip AS sip_responder_sdp_connect_ip,
@sip.$sip_responder_sdp_media_port AS sip_responder_sdp_media_port,
@sip.$sip_responder_sdp_media_type AS sip_responder_sdp_media_type,
@sip.$sip_responder_sdp_content AS sip_responder_sdp_content,
@sip.$sip_duration_s AS sip_duration_s,
@sip.$sip_bye AS sip_bye,
@sip.$sip_bye_reason AS sip_bye_reason,
@i.$rtp_payload_type_c2s AS rtp_payload_type_c2s,
@i.$rtp_payload_type_s2c AS rtp_payload_type_s2c,
@i.$rtp_pcap_path AS rtp_pcap_path,
( @i.$client_ip == sip_originator_sdp_connect_ip).?(1, (@i.$client_ip == sip_responder_sdp_connect_ip).?(2, 0) ) AS rtp_originator_dir
( @i.$client_ip == @sip.$sip_originator_sdp_connect_ip).?(1, (@i.$client_ip == @sip.$sip_responder_sdp_connect_ip).?(2, 0) ) AS rtp_originator_dir
- SCHEDULING USING PROCESS TIME FOR NOW + 6 * 60 * 1000
schedule:
- if: '@rtp.isNotNull && @rtp.cardinality > 0'
@@ -1644,6 +1643,7 @@ pipeline:
@i.$sip_responder_sdp_content AS sip_responder_sdp_content,
@i.$sip_duration_s AS sip_duration_s,
@i.$sip_bye AS sip_bye,
@i.$sip_bye_reason AS sip_bye_reason,
@i.$rtp_payload_type_c2s AS rtp_payload_type_c2s,
@i.$rtp_payload_type_s2c AS rtp_payload_type_s2c,
@i.$rtp_pcap_path AS rtp_pcap_path,
@@ -1776,6 +1776,7 @@ pipeline:
@sip.$sip_responder_sdp_content AS sip_responder_sdp_content,
@sip.$sip_duration_s AS sip_duration_s,
@sip.$sip_bye AS sip_bye,
@sip.$sip_bye_reason AS sip_bye_reason,
@sip.$rtp_payload_type_c2s AS rtp_payload_type_c2s,
@sip.$rtp_payload_type_s2c AS rtp_payload_type_s2c,
@sip.$rtp_pcap_path AS rtp_pcap_path,

View File

@@ -1,13 +1,11 @@
## Deploy
- 准备 JDK ${java.version} 的环境
- 准备 Flink ${flink.version} 的环境
- [下载](./download.html) 对应版本 UDF 依赖 Jar
- [下载](./download.html) 对应版本 Job 配置 (一个 yml 文件)
- 执行命令 `flink run -Dflink.rest.bind-port=8081 -c com.geedgenetworks.flink.easy.core.Runner path/to/sip-rtp-correlation-<version>.jar job.yml`
- 您将在控制台看到启动日志,同时您可以在 `http://<you-host>:8081` 看到任务 UI。
- 您将在控制台看到启动日志,同时您可以在 `http://<you-host>:8081` 看到任务 UI。
> 注意:
> SIP 和 RTP 融合作业强烈建议开启 Checkpoint 机制,否则将会由于丢失数据或重复数据导致业务数据关联错误。

View File

@@ -1,8 +1,56 @@
## Download
### Easy Stream ${project.version}
### ${project.version}
| UDF Jar | Job |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| --------------- |
| [JAR](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.jar) ( [MD5](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.jar.md5) [SHA1](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.jar.sha1) ) | [YML](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.tar.gz) ( [MD5](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.tar.gz.md5) [SHA1](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.tar.gz.sha1) ) |
- VoIP Record 增加字段: SIP `sip_bye_reason` 相关字段。
| Easy Stream | UDF Jar | Job |
|-------------| ------------------------------------------------------------ | ------------------------------------------------------------ |
| ${easy.stream.version} | [JAR](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.jar) ( [MD5](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.jar.md5) [SHA1](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.jar.sha1) ) | [YML](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.tar.gz) ( [MD5](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.tar.gz.md5) [SHA1](${project.distributionManagement.repository.url}/com/geedgenetworks/application/sip-rtp-correlation/${project.version}/${project.artifactId}-${project.version}.tar.gz.sha1) ) |
### 2.0-rc6
- VoIP Record 增加字段: SIP RTP `protocol` 相关字段。
| Easy Stream | UDF Jar | Job |
|-------------| ------------------------------------------------------------ | ------------------------------------------------------------ |
| 1.3-rc1 | [JAR](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc6/sip-rtp-correlation-2.0-rc6.jar) ( [MD5](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc6/sip-rtp-correlation-2.0-rc6.jar.md5) [SHA1](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc6/sip-rtp-correlation-2.0-rc6.jar.sha1) ) | [YML](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc6/sip-rtp-correlation-2.0-rc6.tar.gz) ( [MD5](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc6/sip-rtp-correlation-2.0-rc6.tar.gz.md5) [SHA1](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc6/sip-rtp-correlation-2.0-rc6.tar.gz.sha1) ) |
### 2.0-rc5
- 修复 VoIP 字段错误,使用 `decoded_as` 表示 VoIP 日志。
| Easy Stream | UDF Jar | Job |
|-------------| ------------------------------------------------------------ | ------------------------------------------------------------ |
| 1.3-rc1 | [JAR](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc5/sip-rtp-correlation-2.0-rc5.jar) ( [MD5](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc5/sip-rtp-correlation-2.0-rc5.jar.md5) [SHA1](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc5/sip-rtp-correlation-2.0-rc5.jar.sha1) ) | [YML](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc5/sip-rtp-correlation-2.0-rc5.tar.gz) ( [MD5](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc5/sip-rtp-correlation-2.0-rc5.tar.gz.md5) [SHA1](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc5/sip-rtp-correlation-2.0-rc5.tar.gz.sha1) ) |
### 2.0-rc4
- 移除对 `log_id`, `recv_time` 字段的强制非空校验, 该字段在后续步骤中处理。
| Easy Stream | UDF Jar | Job |
|-------------| ------------------------------------------------------------ | ------------------------------------------------------------ |
| 1.3-rc1 | [JAR](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc4/sip-rtp-correlation-2.0-rc4.jar) ( [MD5](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc4/sip-rtp-correlation-2.0-rc4.jar.md5) [SHA1](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc4/sip-rtp-correlation-2.0-rc4.jar.sha1) ) | [YML](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc4/sip-rtp-correlation-2.0-rc4.tar.gz) ( [MD5](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc4/sip-rtp-correlation-2.0-rc4.tar.gz.md5) [SHA1](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc4/sip-rtp-correlation-2.0-rc4.tar.gz.sha1) ) |
### 2.0-rc3
- 修复由于 State 过期策略早于 Timer 触发而导致的未关联成功的 RTP 数据未正常输出的问题。
| Easy Stream | UDF Jar | Job |
|-------------| ------------------------------------------------------------ | ------------------------------------------------------------ |
| 1.3-rc1 | [JAR](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc3/sip-rtp-correlation-2.0-rc3.jar) ( [MD5](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc3/sip-rtp-correlation-2.0-rc3.jar.md5) [SHA1](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc3/sip-rtp-correlation-2.0-rc3.jar.sha1) ) | [YML](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc3/sip-rtp-correlation-2.0-rc3.tar.gz) ( [MD5](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc3/sip-rtp-correlation-2.0-rc3.tar.gz.md5) [SHA1](http://192.168.40.153:8081/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc3/sip-rtp-correlation-2.0-rc3.tar.gz.sha1) ) |
### 2.0-rc2
- 修复由于 Flink 1.13.6 和 Flink 1.13.1 之间某些 Runtime 不兼容的问题导致的系统无法启动。
| Easy Stream | UDF Jar | Job |
|-------------| ------------------------------------------------------------ | ------------------------------------------------------------ |
| 1.3-rc1 | [JAR](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc2/sip-rtp-correlation-2.0-rc2.jar) ( [MD5](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc2/sip-rtp-correlation-2.0-rc2.jar.md5) [SHA1](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc2/sip-rtp-correlation-2.0-rc2.jar.sha1) ) | [YML](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc2/sip-rtp-correlation-2.0-rc2.tar.gz) ( [MD5](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc2/sip-rtp-correlation-2.0-rc2.tar.gz.md5) [SHA1](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc2/sip-rtp-correlation-2.0-rc2.tar.gz.sha1) ) |
### 2.0-rc1
| Easy Stream | UDF Jar | Job |
|-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1.3-rc1 | [JAR](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc1/sip-rtp-correlation-2.0-rc1.jar) ( [MD5](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc1/sip-rtp-correlation-2.0-rc1.jar.md5) [SHA1](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc1/sip-rtp-correlation-2.0-rc1.jar.sha1) ) | [YML](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc1/sip-rtp-correlation-2.0-rc1.tar.gz) ( [MD5](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc1/sip-rtp-correlation-2.0-rc1.tar.gz.md5) [SHA1](http://192.168.40.153:8099/content/repositories/platform-release/com/geedgenetworks/application/sip-rtp-correlation/2.0-rc1/sip-rtp-correlation-2.0-rc1.tar.gz.sha1) ) |

View File

@@ -7,4 +7,4 @@ SIP RTP Correlation 项目可以用于实时监控和分析 VoIP 通话数据,
<br/>
You can download the latest release from [Job Yml](./jobs/job.yml). And you can changelog from [CHANGELOG.md](./changelogs.html).
You can download the latest release from [Downloads](./download.html). And you can changelog from [Changelogs](./changelogs.html).

View File

@@ -0,0 +1,4 @@
{"__timestamp":946681200,"__inputid":"tsg_olap","session_id":10240001,"decoded_as":"RTP","ip_protocol":"udp","address_type":4,"client_ip":"192.168.64.8","server_ip":"192.168.39.62","client_port":25524,"server_port":4580,"t_vsys_id":0,"vsys_id":1024,"data_center":"tsg_olap","device_group":"tsg_olap","device_id":"0000000000000000","sled_ip":"127.0.0.1","app":"unknown","app_transition":"","client_geolocation":"unknown","server_geolocation":"unknown","decoded_path":"ETHERNET.IPv4.UDP.rtp","server_fqdn":"","start_timestamp_ms":1721639438014,"end_timestamp_ms":1721639438014,"tcp_rtt_ms":0,"tcp_client_isn":0,"tcp_server_isn":0,"tcp_handshake_latency_ms":0,"in_link_id":0,"out_link_id":0,"duration_ms":0,"sent_pkts":0,"sent_bytes":0,"received_pkts":0,"received_bytes":0,"flags":24576,"flags_identify_info":[1,1],"fqdn_category_list":[0],"client_os_desc":"Windows","server_os_desc":"Linux","rtp_pcap_path":"123e4567-e89b-12d3-a456-426614174005"}
{"__timestamp":946681200,"__inputid":"tsg_olap","session_id":10240002,"decoded_as":"SIP","ip_protocol":"udp","address_type":4,"client_ip":"10.0.0.1","server_ip":"192.0.2.1","client_port":1000,"server_port":60000,"t_vsys_id":0,"vsys_id":1024,"data_center":"tsg_olap","device_group":"tsg_olap","device_id":"0000000000000000","sled_ip":"127.0.0.1","app":"unknown","app_transition":"","client_geolocation":"unknown","server_geolocation":"unknown","decoded_path":"ETHERNET.IPv4.UDP.sip","server_fqdn":"","start_timestamp_ms":1721639438014,"end_timestamp_ms":1721639438014,"tcp_rtt_ms":0,"tcp_client_isn":0,"tcp_server_isn":0,"tcp_handshake_latency_ms":0,"in_link_id":0,"out_link_id":0,"duration_ms":0,"sent_pkts":0,"sent_bytes":0,"received_pkts":0,"received_bytes":0,"flags":24584,"flags_identify_info":[1,1],"fqdn_category_list":[0],"client_os_desc":"Windows","server_os_desc":"Linux","sip_call_id":"NGMxZWY3Y2NmMzNlNGE3NzJhODgyZDAwM2YyMzQ4NGI.","sip_originator_description":"\"lina\"<sip:lina@192.0.2.1>;tag=1837055d","sip_responder_description":"\"1075\"<sip:1075@192.0.2.1>","sip_originator_sdp_connect_ip":"192.168.64.8","sip_originator_sdp_media_port":25524,"sip_originator_sdp_media_type":"application/sdp","sip_server":"OpenSIPS (2.4.11 (x86_64/linux))","sip_responder_sdp_connect_ip":"192.168.39.62","sip_responder_sdp_media_port":4580,"sip_responder_sdp_media_type":"application/sdp","sip_duration_s":590,"sip_bye":"responder","sip_cseq":"2 BYE","sip_via":"SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKbe7c.392190f1.0","sip_user_agent":"eyeBeam release 1011d stamp 40820","sip_is_request":0}
{"__timestamp":946681200,"__inputid":"tsg_olap","session_id":10240003,"decoded_as":"RTP","ip_protocol":"udp","address_type":4,"client_ip":"192.168.164.18","server_ip":"192.168.39.162","client_port":65121,"server_port":4670,"t_vsys_id":0,"vsys_id":1024,"data_center":"tsg_olap","device_group":"tsg_olap","device_id":"0000000000000000","sled_ip":"127.0.0.1","app":"unknown","app_transition":"","client_geolocation":"unknown","server_geolocation":"unknown","decoded_path":"ETHERNET.IPv4.UDP.rtp","server_fqdn":"","start_timestamp_ms":1721639438014,"end_timestamp_ms":1721639438014,"tcp_rtt_ms":0,"tcp_client_isn":0,"tcp_server_isn":0,"tcp_handshake_latency_ms":0,"in_link_id":0,"out_link_id":0,"duration_ms":0,"sent_pkts":0,"sent_bytes":0,"received_pkts":0,"received_bytes":0,"flags":24584,"flags_identify_info":[1,1],"fqdn_category_list":[0],"client_os_desc":"Windows","server_os_desc":"Linux","rtp_pcap_path":"123e4567-e89b-12d3-a456-426614174001"}
{"__timestamp":946681200,"__inputid":"tsg_olap","session_id":10240004,"decoded_as":"SIP","ip_protocol":"udp","address_type":4,"client_ip":"10.0.0.2","server_ip":"192.0.2.2","client_port":1000,"server_port":60000,"t_vsys_id":0,"vsys_id":1024,"data_center":"tsg_olap","device_group":"tsg_olap","device_id":"0000000000000000","sled_ip":"127.0.0.1","app":"unknown","app_transition":"","client_geolocation":"unknown","server_geolocation":"unknown","decoded_path":"ETHERNET.IPv4.UDP.sip","server_fqdn":"","start_timestamp_ms":1721639438014,"end_timestamp_ms":1721639438014,"tcp_rtt_ms":0,"tcp_client_isn":0,"tcp_server_isn":0,"tcp_handshake_latency_ms":0,"in_link_id":0,"out_link_id":0,"duration_ms":0,"sent_pkts":0,"sent_bytes":0,"received_pkts":0,"received_bytes":0,"flags":24584,"flags_identify_info":[1,1],"fqdn_category_list":[0],"client_os_desc":"Windows","server_os_desc":"Linux","sip_call_id":"CUMxZWY3Y2NmMzNlNGE3NzJhODgyZDAwM2YyMzQ4NGI.","sip_originator_description":"\"lina\"<sip:lina@192.0.2.1>;tag=1837055d","sip_responder_description":"\"1075\"<sip:1075@192.0.2.1>","sip_originator_sdp_connect_ip":"192.68.64.8","sip_originator_sdp_media_port":25524,"sip_originator_sdp_media_type":"application/sdp","sip_server":"OpenSIPS (2.4.11 (x86_64/linux))","sip_responder_sdp_connect_ip":"192.18.39.62","sip_responder_sdp_media_port":4580,"sip_responder_sdp_media_type":"application/sdp","sip_duration_s":590,"sip_bye":"responder","sip_cseq":"2 BYE","sip_via":"SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKbe7c.392190f1.0","sip_user_agent":"eyeBeam release 1011d stamp 40820","sip_is_request":0}