Phone Extension to Agent Mapping missing from CTI(Generic) intergration

  • Used Zammad version: 6.1.0-1698914895.ce0cdd9b.bionic
  • Used Zammad installation type: Package
  • Operating system: Ubuntu 18.04.6 LTS
  • Browser + version: Any

Expected behavior:

There should be a table to match phone extension to agent (there used to be, but it’s now gone so unable to edit). It shows ok under other VOIP Intergrations such as Sipgate etc

Actual behavior:

“Match phone extension to agent” table missing from the CTI (Generic) integration form.

Steps to reproduce the behavior:

Select Intergrations > CTI (generic) > Activate it and see the table is missing.

This used to work as i have previously mapped agents to extensions (and they still work on inbound calls) but the table in the web interface is now missing so I cannot edit the mappings.

Hi @Posilan.

Did you check any logs/consoles, especially the browser console? This smells like an issue on client side.

Hi, when loading the CTI integration settings page, in the browser console I see:

|  _____                                    _
| / _  / __ _ _ __ ___  _ __ ___   __ _  __| |
| \// / / _` | '_ ` _ \| '_ ` _ \ / _` |/ _` |
|  / //\ (_| | | | | | | | | | | | (_| | (_| |
| /____/\__,_|_| |_| |_|_| |_| |_|\__,_|\__,_|
|
| Hi there, nice to meet you!
|
| Visit https://zammad.com/jobs to learn about our current job openings.|| Your Zammad Team|
application-c0da14b42387d6a725ec9ce82b239df85fc0488c92ebff9cc339218c22503967.js:3 [Violation] 'load' handler took 173ms
application-c0da14b42387d6a725ec9ce82b239df85fc0488c92ebff9cc339218c22503967.js:102 [Violation] 'setTimeout' handler 

Then after a delay of about 60 seconds I additionally see:

/#system/integration/cti:1 Uncaught (in promise) Error: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received

… and what about the Zammad production.log? Especially the request for the CTI page is interesting.

I don’t think there’s anything out of the ordinary there either - this is the production log entry seen when refreshing the CTI integration page in a browser.

I, [2023-11-02T09:54:12.544727#215075-380420]  INFO -- : Started GET "/" for xxx.xxx.xxx.xxx at 2023-11-02 09:54:12 +0000
I, [2023-11-02T09:54:12.550475#215075-380420]  INFO -- : Processing by InitController#index as HTML
I, [2023-11-02T09:54:12.561272#215075-380420]  INFO -- :   Rendered init/index.html.erb within layouts/application (Duration: 0.1ms | Allocations: 48)
I, [2023-11-02T09:54:12.562093#215075-380420]  INFO -- :   Rendered layout layouts/application.html.erb (Duration: 1.0ms | Allocations: 613)
I, [2023-11-02T09:54:12.563237#215075-380420]  INFO -- : Completed 200 OK in 13ms (Views: 1.3ms | ActiveRecord: 6.3ms | Allocations: 2918)
I, [2023-11-02T09:54:12.979023#215075-370760]  INFO -- : Started POST "/api/v1/signshow" for xxx.xxx.xxx.xxx at 2023-11-02 09:54:12 +0000
I, [2023-11-02T09:54:12.984288#215075-370760]  INFO -- : Processing by SessionsController#show as JSON
I, [2023-11-02T09:54:12.984344#215075-370760]  INFO -- :   Parameters: {"fingerprint"=>"-1454494701"}
I, [2023-11-02T09:54:13.583148#215075-370760]  INFO -- : Completed 200 OK in 599ms (Views: 80.8ms | ActiveRecord: 67.6ms | Allocations: 341198)
I, [2023-11-02T09:54:13.675413#215075-370760]  INFO -- : Started GET "/api/v1/translations/lang/en-gb?_=1698918853611" for xxx.xxx.xxx.xxx at 2023-11-02 09:54:13 +0000
I, [2023-11-02T09:54:13.680112#215075-370760]  INFO -- : Processing by TranslationsController#lang as JSON
I, [2023-11-02T09:54:13.680169#215075-370760]  INFO -- :   Parameters: {"_"=>"1698918853611", "locale"=>"en-gb"}
I, [2023-11-02T09:54:13.743836#215075-370760]  INFO -- : Completed 200 OK in 64ms (Views: 28.0ms | ActiveRecord: 24.1ms | Allocations: 61079)
I, [2023-11-02T09:54:13.835477#215075-370760]  INFO -- : Started GET "/api/v1/settings/?full=true&_=1698918853612" for xxx.xxx.xxx.xxx at 2023-11-02 09:54:13 +0000
I, [2023-11-02T09:54:13.840612#215075-370760]  INFO -- : Processing by SettingsController#index as JSON
I, [2023-11-02T09:54:13.840670#215075-370760]  INFO -- :   Parameters: {"full"=>"true", "_"=>"1698918853612"}
I, [2023-11-02T09:54:14.311416#215075-370760]  INFO -- : Completed 200 OK in 471ms (Views: 155.2ms | ActiveRecord: 26.9ms | Allocations: 145853)
I, [2023-11-02T09:54:14.420590#215075-370760]  INFO -- : Started GET "/api/v1/http_logs/cti?limit=50&_=1698918853613" for xxx.xxx.xxx.xxx at 2023-11-02 09:54:14 +0000
I, [2023-11-02T09:54:14.426483#215075-370760]  INFO -- : Processing by HttpLogsController#index as JSON
I, [2023-11-02T09:54:14.426617#215075-370760]  INFO -- :   Parameters: {"limit"=>"50", "_"=>"1698918853613", "facility"=>"cti"}
I, [2023-11-02T09:54:14.470775#215075-370760]  INFO -- : Completed 200 OK in 44ms (Views: 28.3ms | ActiveRecord: 5.5ms | Allocations: 22613)
I, [2023-11-02T09:54:14.528456#215075-370760]  INFO -- : Started GET "/api/v1/cti/log?_=1698918853614" for xxx.xxx.xxx.xxx at 2023-11-02 09:54:14 +0000
I, [2023-11-02T09:54:14.534251#215075-370760]  INFO -- : Processing by CtiController#index as JSON
I, [2023-11-02T09:54:14.534391#215075-370760]  INFO -- :   Parameters: {"_"=>"1698918853614"}
I, [2023-11-02T09:54:14.942735#215075-370760]  INFO -- : Completed 200 OK in 408ms (Views: 81.7ms | ActiveRecord: 46.7ms | Allocations: 250426)
I, [2023-11-02T09:54:14.948332#215075-383480]  INFO -- : Started GET "/api/v1/first_steps?_=1698918853615" for xxx.xxx.xxx.xxx at 2023-11-02 09:54:14 +0000
I, [2023-11-02T09:54:14.953163#215075-383480]  INFO -- : Processing by FirstStepsController#index as JSON
I, [2023-11-02T09:54:14.953290#215075-383480]  INFO -- :   Parameters: {"_"=>"1698918853615"}
I, [2023-11-02T09:54:14.971972#215075-383480]  INFO -- : Completed 200 OK in 19ms (Views: 0.4ms | ActiveRecord: 6.1ms | Allocations: 7037)

Did you try using another browser? I need to think about it, hm.

Yes, same in Firefox (119.0) Edge (118.0.2088.76) and using Chrome on Android too.

Do you have a screenshot of the page?

Yes, here’s the full page:


Phone Extension to Agent Mapping is only available for Placetel & sipgate.io integrations.

When was this removed? We have it configured and it used to be there, I just can’t change it any more.

The Admin docs also still refer to it for the CTI (generic) module too:

https://admin-docs.zammad.org/en/latest/system/integrations/cti/generic.html

Automatically opening new ticket dialogues or user profiles requires agent to extension mapping - see more below.

It’s all there, it’s just called Caller Log Filter

Thanks - but none of the agent mappings I have already configured are there but they are still working somehow so must still be set in the database even though the web form has been removed.

Adding entries in the Caller Log Filter just seems to decide if you see an incoming call notification or not and not the extension to agent mappings it used to have.

Sorry, but I can’t follow you at all. There were some wording improvements/changes done, but nothing else.

Maybe you can check the output of zammad run rails r "puts Setting.get('cti_config')".

The “caller log filter” is functioning differently to “Phone Extension to Agent Mapping”

The CTI Generic integration used to have the “Phone Extension to Agent Mapping” form - it doesn’t any more and previously entered data to the old form isn’t visible or changeable, but it still seems to be functioning.

Even with nothing set in “caller log filter” (as you suggest) I still get a new ticket popup if I take a call on my ext (which is correct) but I have no way of changing an agents extension number or adding a new one any more.

Does this explain better?

{"outbound"=>{"routing_table"=>[], "default_caller_id"=>"xxxxxxxxxx"}, "inbound"=>{"block_caller_ids"=>[]}, "notify_map"=>[], "view_limit"=>60}

Thats odd as theres no notify map showing there, but its definitely still working.

Please also check:

  • zammad run rails r "puts Setting.get('sipgate_config')"
  • zammad run rails r "puts Setting.get('placetel_config')"

Those two are both empty - it’s very strange.

I’m going to do some more tests to see if its just working intermittently and I’m in fact getting calls for all incoming calls rather than just mine because the old filter isnt there any more.