IOS client disconnects after a few secconds

Hello all,

I am setting up a test instance, the call routers works, i get dutch prompt but before i can press a number the client is disconnected, when i check using the CLI I see that the PBX is still waiting for a response and after 3 retries / 30 seconds it cancels the call.

I do not know if this is a feature of the trail instance or a problem with the IOS client.
Im using version 107.R3703_0095e6d8b

thanks in advance

Ive been testing with the windows client, and experience the same behavior

Hi @PieterCura ,

so you call an IVR and when you press a configured DTMF key your Client disconnects or hangs up the call? What actions are defined for that digit? Could you provide the CLI output from this situation?

Greetings,
Steve

Hello Steve,

thanks for the reply,
in this case I do not even get the chance to press a dtmf key, but if i call the IVR directly I can press a digit and the selected action works.
when I wait for the upstream prompt to end, the keypad on the softphone changes back to the ‘normal’ dailer interface (with the green call button)

Connected to Asterisk 18.12.1 currently running on curaict-580fba56-da01-4e93-6665-772b7bc67451 (pid = 571)
  == Using SIP RTP Audio TOS bits 184
  == Using SIP RTP Audio CoS mark 5
    -- Executing [9001@mdc_location:1] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "SIPCALLID=39794a1667d6419ab4981be7e43476ba") in new stack
    -- Executing [9001@mdc_location:2] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_CALLER_LOCATION_ID=2") in new stack
    -- Executing [9001@mdc_location:3] Gosub("PJSIP/cQnCujlemdD3uLw-0000002d", "sub_location,s,1(2,9001)") in new stack
    -- Executing [s@sub_location:1] Verbose("PJSIP/cQnCujlemdD3uLw-0000002d", "1,used location id: 2 - dialed extension: 9001") in new stack
 used location id: 2 - dialed extension: 9001
    -- Executing [s@sub_location:2] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "MDC_CALLEE_NUM=9001") in new stack
    -- Executing [s@sub_location:3] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [9001@mdc_location:4] Gosub("PJSIP/cQnCujlemdD3uLw-0000002d", "sub_split-location,s,1(2)") in new stack
    -- Executing [s@sub_split-location:1] Verbose("PJSIP/cQnCujlemdD3uLw-0000002d", "1,get user for location: 2") in new stack
 get user for location: 2
    -- Executing [s@sub_split-location:2] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "0?s-zero,1") in new stack
    -- Executing [s@sub_split-location:3] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "TMP_USER_ID=3") in new stack
    -- Executing [s@sub_split-location:4] Verbose("PJSIP/cQnCujlemdD3uLw-0000002d", "1,user id: 3") in new stack
 user id: 3
    -- Executing [s@sub_split-location:5] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [9001@mdc_location:5] Gosub("PJSIP/cQnCujlemdD3uLw-0000002d", "mdc_user-3,9001,1()") in new stack
    -- Executing [9001@mdc_user-3:1] Gosub("PJSIP/cQnCujlemdD3uLw-0000002d", "sub_user,s,1(caller,3,101,info,Cura ICT,101,101,101,en)") in new stack
    -- Executing [s@sub_user:1] Verbose("PJSIP/cQnCujlemdD3uLw-0000002d", "1,sub_user mode caller") in new stack
 sub_user mode caller
    -- Executing [s@sub_user:2] Goto("PJSIP/cQnCujlemdD3uLw-0000002d", "s-caller,1") in new stack
    -- Goto (sub_user,s-caller,1)
    -- Executing [s-caller@sub_user:1] Verbose("PJSIP/cQnCujlemdD3uLw-0000002d", "1,sub_user user id: 3 - user exten: 101 - user: info - realname: Cura ICT - own mailbox: 101 - watched mailbox: 101 - callerid(num): 101 - language: en") in new stack
 sub_user user id: 3 - user exten: 101 - user: info - realname: Cura ICT - own mailbox: 101 - watched mailbox: 101 - callerid(num): 101 - language: en
    -- Executing [s-caller@sub_user:2] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_CALLER_USER_ID=3") in new stack
    -- Executing [s-caller@sub_user:3] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_CALLER_NUM=101") in new stack
    -- Executing [s-caller@sub_user:4] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_CALLER_ACC_NAME=info") in new stack
    -- Executing [s-caller@sub_user:5] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_CALLER_ACC_REALNAME=Cura ICT") in new stack
    -- Executing [s-caller@sub_user:6] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_CALLER_VM_OWN=101") in new stack
    -- Executing [s-caller@sub_user:7] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_CALLER_VM_WATCHED=101") in new stack
    -- Executing [s-caller@sub_user:8] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "CALLERID(name)=Cura ICT") in new stack
    -- Executing [s-caller@sub_user:9] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "CALLERID(num)=101") in new stack
    -- Executing [s-caller@sub_user:10] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "CHANNEL(language)=en") in new stack
    -- Executing [s-caller@sub_user:11] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [9001@mdc_user-3:2] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [9001@mdc_location:6] Gosub("PJSIP/cQnCujlemdD3uLw-0000002d", "sub_emergency-check,s,1(9001)") in new stack
    -- Executing [s@sub_emergency-check:1] Verbose("PJSIP/cQnCujlemdD3uLw-0000002d", "1,sub_emergency-check:: exten: 9001 - descent: ") in new stack
 sub_emergency-check:: exten: 9001 - descent: 
    -- Executing [s@sub_emergency-check:2] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "1?9001,1") in new stack
    -- Goto (sub_emergency-check,9001,1)
    -- Channel 'PJSIP/cQnCujlemdD3uLw-0000002d' sent to invalid extension: context,exten,priority=sub_emergency-check,9001,1
    -- Executing [i@sub_emergency-check:1] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [9001@mdc_location:7] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "0?mdc_emergency,dial,1") in new stack
    -- Executing [9001@mdc_location:8] GosubIf("PJSIP/cQnCujlemdD3uLw-0000002d", "1?sub_license_check,s,1(3)") in new stack
    -- Executing [s@sub_license_check:1] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "0?skip") in new stack
    -- Executing [s@sub_license_check:2] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "1?skip") in new stack
    -- Goto (sub_license_check,s,7)
    -- Executing [s@sub_license_check:7] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [9001@mdc_location:9] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "0?mdc_extphonecall-,9001,dial") in new stack
    -- Executing [9001@mdc_location:10] Goto("PJSIP/cQnCujlemdD3uLw-0000002d", "internal,9001,1") in new stack
    -- Goto (internal,9001,1)
    -- Executing [9001@internal:1] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "HASH(__SIPHEADERS,Alert-info)=<http://www.notused.de>;info=alert-internal;x-line-id=0") in new stack
    -- Executing [9001@internal:2] GosubIf("PJSIP/cQnCujlemdD3uLw-0000002d", "1?sub_initcall,s,1(int,9001)") in new stack
    -- Executing [s@sub_initcall:1] Verbose("PJSIP/cQnCujlemdD3uLw-0000002d", "1,sub_initcall descent: int exten: 9001") in new stack
 sub_initcall descent: int exten: 9001
    -- Executing [s@sub_initcall:2] GosubIf("PJSIP/cQnCujlemdD3uLw-0000002d", "1?sub_initloop,s,1") in new stack
    -- Executing [s@sub_initloop:1] Verbose("PJSIP/cQnCujlemdD3uLw-0000002d", "1,initial loop") in new stack
 initial loop
    -- Executing [s@sub_initloop:2] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "MDC_ALIAS_HOP=0") in new stack
    -- Executing [s@sub_initloop:3] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "MDC_MAIN_HOP=0") in new stack
    -- Executing [s@sub_initloop:4] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [s@sub_initcall:3] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_TRANSFERBACK_HOP=0") in new stack
    -- Executing [s@sub_initcall:4] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_DIALDESCENT=int") in new stack
    -- Executing [s@sub_initcall:5] Goto("PJSIP/cQnCujlemdD3uLw-0000002d", "int,1") in new stack
    -- Goto (sub_initcall,int,1)
    -- Executing [int@sub_initcall:1] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_DIALCALLERNUMINIT=101") in new stack
    -- Executing [int@sub_initcall:2] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_DIALCALLEENUMINIT=9001") in new stack
    -- Executing [int@sub_initcall:3] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_DIALCALLEENUMMAP=9001") in new stack
    -- Executing [int@sub_initcall:4] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [9001@internal:3] Goto("PJSIP/cQnCujlemdD3uLw-0000002d", "main,9001,1") in new stack
    -- Goto (main,9001,1)
    -- Executing [9001@main:1] ExecIf("PJSIP/cQnCujlemdD3uLw-0000002d", "0?Set(MDC_MAIN_HOP=0)") in new stack
    -- Executing [9001@main:2] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "MDC_MAIN_HOP=1") in new stack
    -- Executing [9001@main:3] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "0?mdc_loop,s,1") in new stack
    -- Executing [9001@main:4] Gosub("PJSIP/cQnCujlemdD3uLw-0000002d", "sub_defcall,s,1(9001)") in new stack
    -- Executing [s@sub_defcall:1] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_ALIAS_HOP=1") in new stack
    -- Executing [s@sub_defcall:2] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_DIALCALLEENUM=9001") in new stack
    -- Executing [s@sub_defcall:3] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_DIALCALLERNUM=101") in new stack
    -- Executing [s@sub_defcall:4] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_DIALCALLERLANGUAGE=en") in new stack
    -- Executing [s@sub_defcall:5] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_DIALCALLERNAME=Cura ICT") in new stack
    -- Executing [s@sub_defcall:6] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_DIALCHANNELNAME=cQnCujlemdD3uLw") in new stack
    -- Executing [s@sub_defcall:7] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [9001@main:5] GosubIf("PJSIP/cQnCujlemdD3uLw-0000002d", "1?sub_homer,s,1") in new stack
    -- Executing [s@sub_homer:1] ExecIf("PJSIP/cQnCujlemdD3uLw-0000002d", "1?Set(HASH(__SIPHEADERS,P-cs-cid)=39794a1667d6419ab4981be7e43476ba)") in new stack
    -- Executing [s@sub_homer:2] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [9001@main:6] Goto("PJSIP/cQnCujlemdD3uLw-0000002d", "mdc_distribute,9001,1") in new stack
    -- Goto (mdc_distribute,9001,1)
    -- Executing [9001@mdc_distribute:1] Goto("PJSIP/cQnCujlemdD3uLw-0000002d", "mdc_router-5,9001,1") in new stack
    -- Goto (mdc_router-5,9001,1)
    -- Executing [9001@mdc_router-5:1] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_DIALCHANNELNAME=9001") in new stack
    -- Executing [9001@mdc_router-5:2] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_EXTEN=9001") in new stack
    -- Executing [9001@mdc_router-5:3] Gosub("PJSIP/cQnCujlemdD3uLw-0000002d", "sub_main-9001,9001,1") in new stack
    -- Executing [9001@sub_main-9001:1] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "CHANNEL(language)=NL") in new stack
    -- Executing [9001@sub_main-9001:2] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "1?next_27") in new stack
    -- Goto (sub_main-9001,9001,5)
    -- Executing [9001@sub_main-9001:5] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "1?next_26") in new stack
    -- Goto (sub_main-9001,9001,8)
    -- Executing [9001@sub_main-9001:8] Playback("PJSIP/cQnCujlemdD3uLw-0000002d", "_welkom") in new stack
    -- <PJSIP/cQnCujlemdD3uLw-0000002d> Playing '_welkom.slin' (language 'NL')
    -- Executing [9001@sub_main-9001:9] Playback("PJSIP/cQnCujlemdD3uLw-0000002d", "_keuze_aankondiging") in new stack
    -- <PJSIP/cQnCujlemdD3uLw-0000002d> Playing '_keuze_aankondiging.slin' (language 'NL')
    -- Executing [9001@sub_main-9001:10] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "tmp_action_target=mdc_ivr-1,501,1") in new stack
    -- Executing [9001@sub_main-9001:11] Goto("PJSIP/cQnCujlemdD3uLw-0000002d", "mdc_forward_action,s,1") in new stack
    -- Goto (mdc_forward_action,s,1)
    -- Executing [s@mdc_forward_action:1] Wait("PJSIP/cQnCujlemdD3uLw-0000002d", "0.3") in new stack
    -- Executing [s@mdc_forward_action:2] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "MDC_MAIN_HOP=2") in new stack
    -- Executing [s@mdc_forward_action:3] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "0?mdc_loop,s,1") in new stack
    -- Executing [s@mdc_forward_action:4] Gosub("PJSIP/cQnCujlemdD3uLw-0000002d", "sub_user,s,1(callee,,,,,,)") in new stack
    -- Executing [s@sub_user:1] Verbose("PJSIP/cQnCujlemdD3uLw-0000002d", "1,sub_user mode callee") in new stack
 sub_user mode callee
    -- Executing [s@sub_user:2] Goto("PJSIP/cQnCujlemdD3uLw-0000002d", "s-callee,1") in new stack
    -- Goto (sub_user,s-callee,1)
    -- Executing [s-callee@sub_user:1] Verbose("PJSIP/cQnCujlemdD3uLw-0000002d", "1,sub_user user id:  - user number:  - user:  - realname:  - own mailbox:  - watched mailbox: ") in new stack
 sub_user user id:  - user number:  - user:  - realname:  - own mailbox:  - watched mailbox: 
    -- Executing [s-callee@sub_user:2] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "_MDC_CALLEE_USER_ID=") in new stack
    -- Executing [s-callee@sub_user:3] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "_MDC_CALLEE_ACC_NAME=") in new stack
    -- Executing [s-callee@sub_user:4] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "_MDC_CALLEE_ACC_REALNAME=") in new stack
    -- Executing [s-callee@sub_user:5] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "_MDC_DIALCALLEENAME=") in new stack
    -- Executing [s-callee@sub_user:6] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "_MDC_CALLEE_VM_OWN=") in new stack
    -- Executing [s-callee@sub_user:7] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "_MDC_CALLEE_VM_WATCHED=") in new stack
    -- Executing [s-callee@sub_user:8] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "_MDC_DIALCALLEENUM=") in new stack
    -- Executing [s-callee@sub_user:9] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [s@mdc_forward_action:5] UserEvent("PJSIP/cQnCujlemdD3uLw-0000002d", "ForwardAction,target:"mdc_ivr-1,501,1"") in new stack
    -- Executing [s@mdc_forward_action:6] Goto("PJSIP/cQnCujlemdD3uLw-0000002d", "mdc_ivr-1,501,1") in new stack
    -- Goto (mdc_ivr-1,501,1)
    -- Executing [501@mdc_ivr-1:1] Gosub("PJSIP/cQnCujlemdD3uLw-0000002d", "sub_alias,s,1(501)") in new stack
    -- Executing [s@sub_alias:1] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "tmpexten=501") in new stack
    -- Executing [s@sub_alias:2] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "0?loop") in new stack
    -- Executing [s@sub_alias:3] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "MDC_MAIN_HOP=3") in new stack
    -- Executing [s@sub_alias:4] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "target=") in new stack
    -- Executing [s@sub_alias:5] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "0?uml,1:nouml,1") in new stack
    -- Goto (sub_alias,nouml,1)
    -- Executing [nouml@sub_alias:1] Return("PJSIP/cQnCujlemdD3uLw-0000002d", "") in new stack
    -- Executing [501@mdc_ivr-1:2] GotoIf("PJSIP/cQnCujlemdD3uLw-0000002d", "1?501-dial,1:") in new stack
    -- Goto (mdc_ivr-1,501-dial,1)
    -- Executing [501-dial@mdc_ivr-1:1] Set("PJSIP/cQnCujlemdD3uLw-0000002d", "__MDC_EXTEN=501") in new stack
    -- Executing [501-dial@mdc_ivr-1:2] Answer("PJSIP/cQnCujlemdD3uLw-0000002d", "5") in new stack
    -- Executing [501-dial@mdc_ivr-1:3] Gosub("PJSIP/cQnCujlemdD3uLw-0000002d", "sub_main-501,501,1") in new stack
    -- Executing [501@sub_main-501:1] BackGround("PJSIP/cQnCujlemdD3uLw-0000002d", "_Keuzemenu") in new stack
    -- <PJSIP/cQnCujlemdD3uLw-0000002d> Playing '_Keuzemenu.slin' (language 'NL')
    -- Executing [501@sub_main-501:2] WaitExten("PJSIP/cQnCujlemdD3uLw-0000002d", "10") in new stack
  == Spawn extension (sub_main-501, 501, 2) exited non-zero on 'PJSIP/cQnCujlemdD3uLw-0000002d'
    -- Executing [h@sub_main-501:1] Gosub("PJSIP/cQnCujlemdD3uLw-0000002d", "def_hangup,s,1(501,,,CALL)") in new stack
    -- Executing [s@def_hangup:1] NoOp("PJSIP/cQnCujlemdD3uLw-0000002d", ">>>def_hangup:: EXTEN: 501 DIALSTATUS:  QUEUESTATUS:  REASON: CALL") in new stack

Hi @PieterCura ,
there is indeed a Bug that will be resolved with the next PBX Rollout Cycle (sadly I have no ETA, guess at the end of April).
The Bug “only” affects pascom Clients (independent from mobile or desktop) and drop offs to IVRs from other IVRs or CallRouter. So external Calls reaching this Callrouter->IVR will not be affected, but your Users will not be able to call that constellation currently.

If your use case includes internal callers (or your evaluation allows no usage of a trunk in this early state) I would recommend merging the welcome message and IVR prompt to one sound file, assign it to the IVR and use the IVR directly. In case you have also added Dutch to the system languages and want to use other also (so you must set different channel languages), then you should set the language in the inbound rule of the trunk. For internal users, the language configured on the user will be used here.

Sorry for the inconvenience here. Have a nice Easter weekend,
Steve

Thanks for the answer,
i thought i was going mad, but no.

indeed I created dutch language files. And used the channel option to fix the language for now.