-
Posts
97 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Resource Library: Monster UI Apps for KAZOO
Events
Downloads
Posts posted by abuzooz
-
-
On 4/2/2023 at 12:06 AM, tomas_ said:
Hi!
I've just set up a new cluster with Kazoo 4.3 and encountered this issue also. I noticed that the /tmp folder of Freeswitch server was filling up with a lot of call recordings (mp3 files), and found the "Received HTTP error 0 trying to save" error in Freeswitch logs. Also "Error Storing File" in Kazoo console log.
Also the recordings isn't found when trying to get them from recordings API.
It started when adding another Kazoo / Ecallmgr server, before that there was no issue at all. And it's only when Freeswitch tries to save the media to the new, second Kazoo / Ecallmgr server, it works perfect to the first one.Somehow I noticed the "proxy_store_acls" setting in system_config/media (Bigcouch /_utils/document.html?system_config/media), and when adding the IP addresses for both Freeswitch servers there it seems that the problem is gone!
Needs some more testing to be sure, but all it seems like every recording is saved properly.I haven't seen this in any docs or guides anywhere.
Br - Tomas
Well, we built a script to handle the stuck recordings under /tmp, will definitely give this a try! But how did you figure it out?
Thanks mate
-
Thank you @MattForrest, I solved it on the client side as I gave it to get it resolved on the backend side. I am going to test the above callflow to see if it works as I am still on Kazoo 4.3
Appreciated
Yazan
-
Hi All,
I was reading on how to disable/enable call waiting for users, I found this article but I have no idea where should I add this to deactivate call waiting for a user. if someone can guide or show an example this would be much appreciated
Thanks
Yazan
-
@bpbpand how do you integrate FreePBX with Kazoo users? or are you using it as standalone system?
-
Hi @bpbp
We tested both Announcement and Queue position, both are faulty and not reliable, will be happy to share some logs if someone could dig deeper into the code and fix it.
On the other side, is ACDC queue working well for you? we encounter an issue that after a while, customers calls a queue number, they hear the music but agents devices are not ringing (they are not notified of the call), when we restart ACDC module and service, it works again!
Thanks
Yazan
-
@Marcin Muzylo was this problem solved? have you found any workaround for it?
-
sHi All,
We have multiple kazoo servers with Webhook enabled on them, we use this command sup kapps_config set_default ecallmgr restrict_channel_state_publisher true to limit the handling ecallmger to only send the webhook call events, and all is fine, but we noticed that for channel create, channel bridge, channel answered, these type of webhooks are sent from all webhook kazoo servers, not restricted to the handling server, while channel destroy is following the restriction made by the command above and is being sent only by the handling server. This is causing that same call event (channel create. channel answered) being sent to the CRM or the Receiving server multiple time, which is causing a big issue.
Any clue what would be the problem or if there is a command that we need to execute in order to avoid such duplicate events being sent by all Kazoo servers together?
Thanks
Yazan
-
There is no problem with Kazoo, it is related to the carrier itself, you need to understand that ring groups are different than queues, where in ring groups you are streaming the media without the call being picked-up while in queues, the call will be connected then media is steamed, this is always supported by all carriers.
We have music working on ring groups, but not all carriers play it, some does and others doesnt.
-
@fmateo05 you might be interested in checking our their reviews, they are known to suspend accounts and for their very bad support!
-
Great initiative @fmateo05 keep us posted.
But for their instances pricing, is it for dedicated vCPU cores or shared?
-
Hi All
We designed a new couchdb view and we want kazoo to add it automatically when a new account is created, we aim to get it automatically added to account MODB and DB, any idea how to do that?
Thanks
Yazan
-
Yes this is exactly what is happening on my side as well, it is strange as if you check Freeswitch logs on cli, you will see that position was logged at the beginning of the call and everything should work correctly!
-
Hi All
We are testing ACDc queue, everything is fine so far, however, we are facing hard time to make recording work with queue, according to this documentation we only have to set this flag "record_caller" to true, unfortunately, call recording is not working and nothing exist in kazoo logs, anyone faced same issue with ACDc queue?
In addition, announcements like announce position and waiting time is behaving incorrectly, it only announce when the call is picked up by one of the agents not according to the set interval, following instructions in this documentation
Below you can find json body used to create the queue I am discussing above:
{
"data":{
"name":"Support Queue",
"record_caller":true,
"strategy":"round_robin",
"agent_wrapup_time":0,
"max_queue_size":0,
"connection_timeout":3600,
"enter_when_empty":true,
"agent_ring_timeout":15,
"caller_exit_key":"#",
"ring_simultaneously":1,
"announcements":{
"wait_time_announcements_enabled":true,
"position_announcements_enabled":true,
"interval":30}
}
} -
I think the answer is here just sharing in case someone is looking for an answer
-
Hi All
I managed to get ACDc queues to work with Kazoo Monster-Ui using this great article https://github.com/clara007/monster-ui-callcenter , but I have a small question now, how to rout internal and external calls to this queue? as I couldnt find anything in Callflow or Callcenter apps to do so
Thanks in advance
-
Sure, and how I can help to get it first? to expedite the process?
-
sorry @mc_ but I have no clue what should I do with gproc:ensure_reg/1, is it something that I need to install and run or is it a config file that I need to modify? can you please elaborate more?
-
Hi All
I noticed that every time I make a call I receive the following crash and error in Konami on my Kazoo applications server. below are the logs after making a call:
Dec 10 11:28:42 kz 2600hz[1418]: |0000000000|kz_hooks_util:166(<0.23256.9>) adding event CHANNEL_ANSWER to kz_hooks_listener
Dec 10 11:29:48 kz 2600hz[1418]: |68d5d475-34f6-434a-bc54-fab495fc966b|kz_hooks_util:166(<0.23256.9>) adding event CHANNEL_ANSWER to kz_hooks_listener
Dec 10 11:29:48 kz 2600hz[1418]: |68d5d475-34f6-434a-bc54-fab495fc966b|kz_util:97(<0.23256.9>) stacktrace:
Dec 10 11:29:48 kz 2600hz[1418]: |68d5d475-34f6-434a-bc54-fab495fc966b|kz_util:106(<0.23256.9>) st: gproc:reg at 645
Dec 10 11:29:48 kz 2600hz[1418]: |68d5d475-34f6-434a-bc54-fab495fc966b|kz_util:107(<0.23256.9>) args: {p,l,{kz_hook,<<"ba4774842e5840b29c5f6ab1784ad171">>,<<"CHANNEL_ANSWER">>}}
Dec 10 11:29:48 kz 2600hz[1418]: |68d5d475-34f6-434a-bc54-fab495fc966b|kz_util:104(<0.23256.9>) st: kz_hooks_util:maybe_add_hook/1 at (144)
Dec 10 11:29:48 kz 2600hz[1418]: |68d5d475-34f6-434a-bc54-fab495fc966b|kz_util:104(<0.23256.9>) st: konami_event_listener:handle_cast/2 at (343)
Dec 10 11:29:48 kz 2600hz[1418]: |68d5d475-34f6-434a-bc54-fab495fc966b|kz_util:104(<0.23256.9>) st: gen_listener:handle_module_cast/2 at (1324)
Dec 10 11:29:48 kz 2600hz[1418]: |68d5d475-34f6-434a-bc54-fab495fc966b|kz_util:104(<0.23256.9>) st: gen_server:try_dispatch/4 at (601)
Dec 10 11:29:48 kz 2600hz[1418]: |68d5d475-34f6-434a-bc54-fab495fc966b|kz_util:104(<0.23256.9>) st: gen_server:handle_msg/5 at (667)
Dec 10 11:29:48 kz 2600hz[1418]: |68d5d475-34f6-434a-bc54-fab495fc966b|kz_util:104(<0.23256.9>) st: proc_lib:init_p_do_apply/3 at (247)
Dec 10 11:29:48 kz 2600hz[1418]: |0000000000|Undefined:Undefined(<0.23256.9>) gen_server konami_event_listener terminated with reason: badarg
Dec 10 11:29:48 kz 2600hz[1418]: |0000000000|gen_server:812(<0.23256.9>) CRASH REPORT Process konami_event_listener with 0 neighbours exited with reason: bad argument in gen_server:terminate/7 line 812
Dec 10 11:29:48 kz 2600hz[1418]: |0000000000|Undefined:Undefined(<0.24295.0>) Supervisor konami_sup had child konami_event_listener started with konami_event_listener:start_link() at <0.23256.9> exit with reason badarg in context child_terminated
[root@kz ~]# tailf /var/log/kazoo/error.log | grep konami
11:31:36.411 [error] |f9ca7ac85e6241b1b2412d5eb006269a|kz_util:104(<0.23719.9>) st: konami_event_listener:handle_cast/2 at (343)
11:31:36.412 [error] |0000000000|Undefined:Undefined(<0.23719.9>) gen_server konami_event_listener terminated with reason: badarg
11:31:36.412 [error] |0000000000|gen_server:812(<0.23719.9>) CRASH REPORT Process konami_event_listener with 0 neighbours exited with reason: bad argument in gen_server:terminate/7 line 812
11:31:36.413 [error] |0000000000|Undefined:Undefined(<0.24295.0>) Supervisor konami_sup had child konami_event_listener started with konami_event_listener:start_link() at <0.23719.9> exit with reason badarg in context child_terminated
11:31:36.414 [error] |0000000000|Undefined:Undefined(<0.140.0>) Lager event handler error_logger_lager_h exited with reason {'EXIT',{{case_clause,[<0.24439.9>,undefined,exit,{badarg,{gen_server,call,[konami_event_listener,{add_binding,<<"call">>,[{restrict_to,[<<"CHANNEL_ANSWER">>,<<"CHANNEL_BRIDGE">>,<<"CHANNEL_DESTROY">>,<<"CHANNEL_REPLACED">>,<<"CHANNEL_TRANSFEREE">>,<<"DTMF">>]},{callid,<<"f51dcfe404f9486183cde906aaf19852">>}]}]}},undefined,[{gen_server,call,2,[{file,"gen_server.erl"},{line,204}]},{konami_event_listener,add_call_binding,1,[{file,"src/konami_event_listener.erl"},{line,148}]},{konami_code_statem,...},...]]},...}}Am I doing something wrong or is it a bug?
-
All is good then, thanks for the clarification!
-
here is couchdb document for your reference, I can see that it says s3, so this means it is only stored on S3?
{ "
_id
":"202010-d471852c51ffad66d329649c6895684a"
, "_rev
":"2-c66055d1bcdba32d469141db5c353afd"
, "pvt_document_hash
":"558c42991392dc1d091f694152de7ad0"
, "pvt_node
":"kazoo_apps@kz.xxxx.com"
, "pvt_type
":"call_recording"
, "pvt_modified
":63771302492
, "pvt_created
":63771302492
, "pvt_account_db
":"account%2Fba%2F47%2F74842e5840b29c5f6ab1784ad171-202010"
, "pvt_account_id
":"ba4774842e5840b29c5f6ab1784ad171"
, "to
":"972599796989@atlantic.xxxx.com"
, "start
":63771302488
, "source_type
":"kzc_recording"
, "request
":"972599796989@xxxx.xxxx.com"
, "owner_id
":"2399970e0db1a68698fd21ea0ec1999c"
, "origin
":"outbound to offnet from endpoint"
, "name
":"69ba68f484264a005a22eb49838bfce0.mp3"
, "media_type
":"mp3"
, "media_source
":"recorded"
, "interaction_id
":"63771302480-fd575c22"
, "from
":"1008@atlantic.deskwaves.com"
, "duration_ms
":3520
, "duration
":3
, "direction
":"inbound"
, "description
":"recording 69ba68f484264a005a22eb49838bfce0.mp3"
, "custom_channel_vars
":{ "
, "Account-ID
":"ba4774842e5840b29c5f6ab1784ad171"
, "Account-Name
":"xxxx"
, "Account-Realm
":"atlantic.xxxx.com"
, "Application-Name
":"callflow"
, "Application-Node
":"kazoo_apps@kz.xxxxx.com"
, "Authorizing-ID
":"ed4421e3c7d6d66f303279edce5cd322"
, "Authorizing-Type
":"device"
, "Bridge-ID
":"169d74e3843f406bbd52a1e5490d54f1"
, "Call-Interaction-ID
":"63771302480-fd575c22"
, "CallFlow-ID
":"25178a8c5f2ad05d145e59f89835679d"
, "Channel-Authorized
":"true"
, "Ecallmgr-Node
":"ecallmgr@ecallmgr.xxxxx.com"
, "Fetch-ID
":"5a3cff51-9776-4455-ab8f-3da35ef6bb58"
, "Media-Name
":"69ba68f484264a005a22eb49838bfce0.mp3"
, "Media-Names
":"69ba68f484264a005a22eb49838bfce0.mp3"
, "Media-Recorder
":"kz_media_recording"
, "Media-Recording-ID
":"202010-d471852c51ffad66d329649c6895684a"
, "Media-Recordings
":"202010-d471852c51ffad66d329649c6895684a"
, "Owner-ID
":"2399970e0db1a68698fd21ea0ec1999c"
, "Privacy-Hide-Name
":"false"
, "Privacy-Hide-Number
":"false"
, "Realm
":"xxxxx.xxxxx.com"
, "Reseller-ID
":"d751fcae7bebadcae4acfa188ca21939"
, "Username
":"yazan"
}content_type
":"audio/mpeg"
, "cdr_id
":"202010-169d74e3843f406bbd52a1e5490d54f1"
, "caller_id_number
":"1008"
, "caller_id_name
":"Yazan Inaimss"
, "callee_id_number
":"972599796989"
, "callee_id_name
":""
, "call_id
":"169d74e3843f406bbd52a1e5490d54f1"
, "pvt_attachments
":{ "
}69ba68f484264a005a22eb49838bfce0.mp3
":{ "
}content_type
":"audio/mpeg"
, "length
":30758
, "stub
":false
, "handler
":{ "
}kz_att_s3
":{ "
}S3
":"g2gCdAAAAAVkAAZidWNrZXRtAAAACXRhbGtjaGllZmQAFGJ1Y2tldF9hY2Nlc3NfbWV0aG9kbQAAAARhdXRvZAAKZmllbGRfbGlzdGwAAAAEdAAAAAFtAAAAA2FyZ20AAAAKYWNjb3VudF9pZHQAAAABbQAAAAVjb25zdG0AAAAKcmVjb3JkaW5nc3QAAAABbQAAAANhcmdtAAAAAmlkdAAAAAFtAAAAA2FyZ20AAAAKYXR0YWNobWVudGpkAANrZXltAAAAFEFLSUE0VDVUSktFQUlXNVZVVUlNZAAGc2VjcmV0bQAAAChOMml3WUhmVHZFOEFISXVXcTQvM3haWUpZRmVBcVdXS3Jpc1JKOEtKbQAAAHhiYTQ3NzQ4NDJlNTg0MGIyOWM1ZjZhYjE3ODRhZDE3MS9yZWNvcmRpbmdzLzIwMjAxMC1kNDcxODUyYzUxZmZhZDY2ZDMyOTY0OWM2ODk1Njg0YS82OWJhNjhmNDg0MjY0YTAwNWEyMmViNDk4MzhiZmNlMC5tcDM="
, "metadata
":{ "
}etag
":"170b49ee20700105af1e0ec2a850ce42"
, "x-amz-request-id
":"FDF91953B94C0266"
, "x-amz-id-2
":"FgwO599YIaz4c5D96A89hLaS4/pRg68jqQYA7OpFISk0smZ+mz6kxDPXaZHJ1HAb0Jb2zcAOYUc="
} -
@mc_ I will check, but why I am sure it is saving also a copy of the metadata in couchdb as for example in voice message case, I deleted 1 of voice messages from S3 and kazoo was able to play it normally even if the file doesnt exist in S3, the stream came from couchdb.
-
on user level and by using below API json payload. Call recording is sent successfully to S3 bucket with no issues, however, I feel that MODB is still saving a copy of that file.
{ "auth_token": "{AUTH_TOKEN}","data":{"smartpbx":{"call_recording":{"enabled":true}},"call_recording":{"outbound":{"offnet":{"record_on_answer":true,"record_min_sec":1,"enabled":true,"time_limit":3600,"format":"mp3"},"onnet":{"enabled":false}},"inbound":{"offnet":{"record_on_answer":true,"record_min_sec":1,"enabled":true,"time_limit":3600,"format":"mp3"},"onnet":{"enabled":false}}}}} -
Hi All
I am using S3 storage plan to save recordings, media and voice messages, however, I noticed that kazoo is only saving a copy of the file binary to S3 and keeping another copy in Couchdb, the local copy is used by Kazoo when once of these files is requested based on the logs.
I was reading and I noticed that connection should be configured not to use local (couchdb), howver, there is no documentation for that in the web that I can find to change the connection to s3, any advise? is there any drawbacks/concerns not saving a local copy of these binaries? like performance..etc?
{
"data":{
"attachments":{
"bb966f5b0af243bb835b6c07ca3120a7":{
"handler":"s3",
"name":"Kazoo S3",
"settings":{
"bucket":"XX",
"key":"XXX",
"secret":"XXXXX/XXXXX",
"bucket_access_method":"auto",
"field_list":[
{
"arg":"account_id"
},
{
"const":"voicemail"
},
{
"arg":"attachment"
}
]
}
},
"2e878cb4a14a46d4abd35a9a3ce6ae8e":{
"handler":"s3",
"name":"Kazoo S3",
"settings":{
"bucket":"XX",
"key":"XXX",
"secret":"XXXX/XXXXX",
"bucket_access_method":"auto",
"field_list":[
{
"arg":"account_id"
},
{
"const":"media"
},
{
"arg":"attachment"
}
]
}
},
"f8885bb42bdb4466a88847e2d6fbe1b2":{
"handler":"s3",
"name":"Kazoo S3",
"settings":{
"bucket":"XX",
"key":"XXX",
"secret":"XXX/XXXX",
"bucket_access_method":"auto",
"field_list":[
{
"arg":"account_id"
},
{
"const":"recordings"
},
{
"arg":"attachment"
}
]
}
}
},
"plan":{
"modb":{
"attachments":{
},
"connection":"local",
"types":{
"call_recording":{
"attachments":{
"handler":"f8885bb42bdb4466a88847e2d6fbe1b2"
}
},
"mailbox_message":{
"attachments":{
"handler":"bb966f5b0af243bb835b6c07ca3120a7"
}
},
"media":{
"attachments":{
"handler":"2e878cb4a14a46d4abd35a9a3ce6ae8e"
}
}
}
},
"account":{
"attachments":{
},
"connection":"local",
"types":{
"call_recording":{
"attachments":{
"handler":"f8885bb42bdb4466a88847e2d6fbe1b2"
}
},
"mailbox_message":{
"attachments":{
"handler":"bb966f5b0af243bb835b6c07ca3120a7"
}
},
"media":{
"attachments":{
"handler":"2e878cb4a14a46d4abd35a9a3ce6ae8e"
}
}
}
}
}
}
} -
I fixed it using a workaround, setting the company timezone to any american timezone then changing the timezone ! it is not a very good solution but at least it works using APIs
Disable Call waiting
in Product Discussion
Posted
Hi @tomas_
Not really, we managed this on the client side