Dev-scatch: Difference between revisions

From 탱이의 잡동사니
Jump to navigation Jump to search
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 3: Line 3:


== Asterisk ==
== Asterisk ==
=== Gerrit commands ===
* recheck: run a jekins build test.
* regate: run a jenkins regate test.
=== No events for recording/live pause, mute ===
Because there's no events for pause/unpause/mute/unmute, it's hard to know the recording was puased/muted or not.
=== POST /channels/<channelId>/dtmf doing wrong ===
When it's getting the negative duration/between, it doesn't accept the call hangup.
=== POST /channels codec not in order ===
When the ARI application originating the channel with ARI, it doesn't respect the codec order in /etc/asterisk/pjsip.conf file.
=== Fixing Dial event ===
For the first Dial ARI event, it comes with dialstate: "", always.
This should be fixed to dialsatate: "initial" something.
The Dial application doesn't send the DialEnd event.
----------------------------
This is fine. It was already explained.
=== Make reason for mandatory ===
=== Make reason for mandatory ===
Currently, the Asterisk doesn't set the reason field as a requirement. It makes hard to use the ChannelHangupRequest and ChannelDestroyed event.
Currently, the Asterisk doesn't set the reason field as a requirement. It makes hard to use the ChannelHangupRequest and ChannelDestroyed event.
=== Add more Hangup reason ===
Currently, DELETE /ari/channels/<channelID> supports only few hangup reason.
res/ari/resource_channels.c
<source lang=c>
if (ast_strlen_zero(args->reason) || !strcmp(args->reason, "normal")) {
cause = AST_CAUSE_NORMAL;
} else if (!strcmp(args->reason, "busy")) {
cause = AST_CAUSE_BUSY;
} else if (!strcmp(args->reason, "congestion")) {
cause = AST_CAUSE_CONGESTION;
} else if (!strcmp(args->reason, "no_answer")) {
cause = AST_CAUSE_NOANSWER;
} else if(!strcmp(args->reason, "answered_elsewhere")) {
cause = AST_CAUSE_ANSWERED_ELSEWHERE;
} else {
ast_ari_response_error(
response, 400, "Invalid Reason",
"Invalid reason for hangup provided");
return;
}
</source>
== Tool ==
=== ntop ===
* https://www.ntop.org/
* High-speed web-based traffic analysis.
* homer 사용 중 대체용으로 언급이 되었음. 한번 살펴볼만함.


[[category:etc]]
[[category:etc]]

Latest revision as of 08:00, 6 July 2020

Overview

Simple development scatch for myself.

Asterisk

Gerrit commands

  • recheck: run a jekins build test.
  • regate: run a jenkins regate test.

No events for recording/live pause, mute

Because there's no events for pause/unpause/mute/unmute, it's hard to know the recording was puased/muted or not.

POST /channels/<channelId>/dtmf doing wrong

When it's getting the negative duration/between, it doesn't accept the call hangup.

POST /channels codec not in order

When the ARI application originating the channel with ARI, it doesn't respect the codec order in /etc/asterisk/pjsip.conf file.

Fixing Dial event

For the first Dial ARI event, it comes with dialstate: "", always.

This should be fixed to dialsatate: "initial" something.

The Dial application doesn't send the DialEnd event.


This is fine. It was already explained.

Make reason for mandatory

Currently, the Asterisk doesn't set the reason field as a requirement. It makes hard to use the ChannelHangupRequest and ChannelDestroyed event.

Add more Hangup reason

Currently, DELETE /ari/channels/<channelID> supports only few hangup reason.

res/ari/resource_channels.c <source lang=c> if (ast_strlen_zero(args->reason) || !strcmp(args->reason, "normal")) { cause = AST_CAUSE_NORMAL; } else if (!strcmp(args->reason, "busy")) { cause = AST_CAUSE_BUSY; } else if (!strcmp(args->reason, "congestion")) { cause = AST_CAUSE_CONGESTION; } else if (!strcmp(args->reason, "no_answer")) { cause = AST_CAUSE_NOANSWER; } else if(!strcmp(args->reason, "answered_elsewhere")) { cause = AST_CAUSE_ANSWERED_ELSEWHERE; } else { ast_ari_response_error( response, 400, "Invalid Reason", "Invalid reason for hangup provided"); return; } </source>

Tool

ntop

  • https://www.ntop.org/
  • High-speed web-based traffic analysis.
  • homer 사용 중 대체용으로 언급이 되었음. 한번 살펴볼만함.