Asterisk Version: 20.4.0
OS: AlmaLinux 8.8 (Sapphire Carcal)
I’ve a set a default language based on the system settings. For Example German/DE.
All external peers get the default language applied to their channel by the PBX/Asterisk
But we’ve German, French and English speaking people on this PBX.
Due to the Channel language being set to German for all external peers, they all get german announcements version as playback, even when connected to english, or french speaking peers.
I’m trying to make it so, the external channel’s language is set to the same as the internal peers channel language.
Currently as a proof of concept, i’m just generally trying to force a different than system ommited language to all channels, to see if it works at all.
I added a SET(CHANNEL(language)=fr) via an AGI Script on my incoming line, so all incoming call channels should be set to french instead of the system default german.
The Asterisk Log shows:
Connected to Asterisk 20.4.0 currently running on testface (pid = 8242)
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
0x7ff184074850 – Strict RTP learning after remote address set to: [Censored]:25644
– Executing [[Censored]@Leitungsname-incoming:1] Set(“SIP/[Censored]_obproxy0-00000002”, “channelname=Leitungsname-incoming”) in new stack
– Executing [[Censored]@Leitungsname-incoming:2] Set(“SIP/[Censored]_obproxy0-00000002”, “lineconfigid=1063”) in new stack
Setting Channel Language with AGI Script
– AGI Script Executing Application: (Set) Options: (CHANNEL(language)=fr)
– AGI Script Executing Application: (Set) Options: (CALLERID(name)=00[Censored] : [Censored])
– AGI Script Executing Application: (Set) Options: (CALLERID(number)=00[Censored])
– AGI Script Executing Application: (Dial) Options: (SIP/2226.ylnkt54,125,wWtT)
Call gets Picked up…
Triggering Monitoring with *1 as a Feature
[2023-10-10 10:23:44,525] DTMF[C-00000002]: channel.c:4006 __ast_read: DTMF begin ‘*’ received on SIP/2226.ylnkt54-00000003
[2023-10-10 10:23:45,068] DTMF[C-00000002]: channel.c:3958 __ast_read: DTMF end ‘1’ detected to have actual duration 79 on the wire, emulation will be triggered on SIP/2226.ylnkt54-00000003
[2023-10-10 10:23:45,068] DTMF[C-00000002]: channel.c:3965 __ast_read: DTMF end ‘1’ has duration 79 but want minimum 80, emulating on SIP/2226.ylnkt54-00000003
[2023-10-10 10:23:45,068] DTMF[C-00000002]: channel.c:4040 __ast_read: DTMF end emulation of ‘1’ queued on SIP/2226.ylnkt54-00000003
Both Channels have a monitor_announce playback in german
– <Local/3a178f85-5742-4277-9f8b-6a5154d6f6d2@playonchannel-00000001;1> Playing ‘monitor_announce.slin16’ (language ‘de’)
– <Local/e431eac6-2d52-46d1-a353-988157354f11@playonchannel-00000000;1> Playing ‘monitor_announce.slin16’ (language ‘de’)
– Goto (calling,exit,0)
My knowledge with asterisk is quite limited, i don’t know if what i’m trying to do is even possible.
The Full log does not show that the language is being changed back to german/de at any point.
I don’t quite know how to solve this, i’m hoping somebody could help me with this.