The output of the error in the asterisk CLI: “[2022-08-14 12:11:54] WARNING[16655][C-00000007]: channel.c:1079 channel_indicat e: [Dongle/Dongle1-0100000003] Don’t know how to indicate condition 22”
extensions_custom.conf:
exten => 180,n,Dial(PJSIP/1019,m(default))
dongle.conf:
[general]
interval=10000000
jbenable=no
[defaults]
context=from-internal
group=0
rxgain=0
txgain=0
autodeletesms=no
resetdongle=yes
u2diag=-1
usecallingpres=yes
callingpres=allowed_passed_screen
disablesms=yes
language=en
smsaspdu=yes
mindtmfgap=45
mindtmfduration=80
mindtmfinterval=200
callwaiting=auto
disable=no
initstate=start
exten=180
dtmf=inband
[Dongle1]
audio=/dev/ttyUSB1
data=/dev/tnt1
Condition 22 is connected line update, not hold:
AST_CONTROL_RADIO_KEY = 12, /*!< Key Radio */
AST_CONTROL_RADIO_UNKEY = 13, /*!< Un-Key Radio */
AST_CONTROL_PROGRESS = 14, /*!< Indicate PROGRESS */
AST_CONTROL_PROCEEDING = 15, /*!< Indicate CALL PROCEEDING */
AST_CONTROL_HOLD = 16, /*!< Indicate call is placed on hold */
AST_CONTROL_UNHOLD = 17, /*!< Indicate call is left from hold */
AST_CONTROL_VIDUPDATE = 18, /*!< Indicate video frame update */
_XXX_AST_CONTROL_T38 = 19, /*!< T38 state change request/notification \deprecated This is no longer supported. Use AST_CONTROL_T38_PARAMETERS instead. */
AST_CONTROL_SRCUPDATE = 20, /*!< Indicate source of media has changed */
AST_CONTROL_TRANSFER = 21, /*!< Indicate status of a transfer request */
AST_CONTROL_CONNECTED_LINE = 22,/*!< Indicate connected line has changed */
AST_CONTROL_REDIRECTING = 23, /*!< Indicate redirecting id has changed */
AST_CONTROL_T38_PARAMETERS = 24,/*!< T38 state change request/notification with parameters */
AST_CONTROL_CC = 25, /*!< Indication that Call completion service is possible */
AST_CONTROL_SRCCHANGE = 26, /*!< Media source has changed and requires a new RTP SSRC */
AST_CONTROL_READ_ACTION = 27, /*!< Tell ast_read to take a specific action */
AST_CONTROL_AOC = 28, /*!< Advice of Charge with encoded generic AOC payload */
AST_CONTROL_END_OF_Q = 29, /*!< Indicate that this position was the end of the channel queue for a softhangup. */
AST_CONTROL_INCOMPLETE = 30, /*!< Indication that the extension dialed is incomplete */
AST_CONTROL_MCID = 31, /*!< Indicate that the caller is being malicious. */
AST_CONTROL_UPDATE_RTP_PEER = 32, /*!< Interrupt the bridge and have it update the peer */
I don’t think an outgoing connected line update would make any sense to a mobile network, which assumes a phone, not a PABX at the downlink side of the air interface.
A system that sends music on hold over a mobile air interface will not produce good quality sound, as mobile codecs are all vocoder ones, so specifically optimised for voice only.
Hold would be 16.
chan_dongle is not maintained by the Asterisk project, and, I have a feeling it is not maintained at all. It is not part of the official Asterisk source code.
It looks like at least some forks of it do support music on hold:
/* appears in r295843 */
#ifdef HAVE_AST_CONTROL_SRCCHANGE
case AST_CONTROL_SRCCHANGE:
#endif
case AST_CONTROL_PROGRESS:
case AST_CONTROL_PROCEEDING:
case AST_CONTROL_VIDUPDATE:
case AST_CONTROL_SRCUPDATE:
break;
case AST_CONTROL_HOLD:
ast_moh_start (channel, data, NULL);
break;
case AST_CONTROL_UNHOLD:
ast_moh_stop (channel);
break;
default:
ast_log (LOG_WARNING, "[%s] Don't know how to indicate condition %d\n", channel->name, condition);
res = -1;
Which fork are you using?
Are you sure installing another chan_dongle is a good solution? (I can play the hold music on the PJSIP channel!)
The recommended solution for chan_dongle problems is a SIP to air interface gateway device.
I suspect that all forks of chan_dongle should support music on hold, but it basically isn’t supported.
Knowing which fork you have means one can look at the right source code.
1 Like
system
Closed
September 13, 2022, 11:40am
8
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.