Asterisk CallerID(name) UTF8 Charset


Is there any possibility to display callerID(name) in different encoding? For example; if my names include (by the way I assign these from mysql DB vie func_ODBC) “ü,ç,ş,ğ…etc” they are not displayed correctly “▒” and strange enough when this call enters the queue , although it shows as “ringing” if I check the queue show queueName but agent side is not actually ringing. Any suggestions ?


Are you talking SIP here? The character encoding almost certainly differs between SIP and SS7. The native encoding for SIP is UTF-8, and Asterisk doesn’t modify the encoding. I’d have to assume that your problem is that you are not using UTF-8 somewhere.

The incoming channel will show as Ringing if you called Ringing before you called Queue, or if you use the r option on Queue. Most people answer the channel before entering the Queue, in which case it should show as up.

Hi David,

Thanks for your reply. Tech in question is pjsip, when I set the callerID(name) from DB query, since the mentioned characters it doesn’t display them correctly and breaks something I have yet to discover.

Regarding you input on queue ringing options, yes that is in place as well, but as I mentioned when the callerID(name) is not displayed properly , the call seems to be ringing but agent side does not. As soon as I remove the unidentified /non-displayable chars from the callerID(name), everything works as expected. Strange I know, but this is exactly what is happening.


I think we would need the pjsip set logger on output, treated as UTF-8.

Mysql can be a bit tricky as it distinguishes between charsets of the table, the server and the client. It’s better to set the charset explicitly for any connection. In the past I had connections where the client charset ended up with something like latin1 and I didn’t know where it came from.

Sometimes older phones also had difficulties displaying a reasonably complete set of utf8 chars.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.