I have 3180 extension created as chan_pjsip and the liked user has “Enable WebRTC Phone” and “Allow Originating Calls” to “Yes”. I’m logged with 3180 in UCP and I can make calls, but if call with 3181 (hardphone) to 3180 (UCP) the call is not recibed.
-- Executing [[email protected]:44] Dial("PJSIP/3181-00000019", "SIP/993180&,15,TtrI") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
[2015-03-23 19:20:48] WARNING[25984][C-00000062]: app_dial.c:2323 dial_exec_full: Dial argument takes format (technology/resource)
I think the problem is the & in Dial command.
If I register the 3180 in a softphone and I continue logged in the UCP the call is recibed OK and no warning message recibed:
-- Executing [[email protected]:44] Dial("PJSIP/3181-0000001a", "SIP/993180&PJSIP/3180/sip:[email protected]:5060;registering_acc=freepbx,15,TtrI") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called SIP/993180
-- Called PJSIP/3180/sip:[email protected]:5060;registering_acc=freepbx
-- Connected line update to PJSIP/3181-0000001a prevented.
-- SIP/993180-00000013 is ringing
-- Connected line update to PJSIP/3181-0000001a prevented.
-- PJSIP/3180-0000001b is ringing
Everything works OK if I use classic chan_sip extension. Is it a BUG? Should I open a tracker?
FreePBX Distro 6.12.65-26
Asterisk (Ver. 13.2.0)
More problems with WebRTC on users with pjsip extension. Calls ignore de voicemail if no phone or softphone registered when WebRTC is enabled.
Steps to reproduce:
-Create a new pjsip extension and enable the voicemail.
-Call this new extension from another. You can hear the voicemail answer.
-Edit the linked user on the created extension with the “User Managment” module to enable WebRTC.
-Call another time to the extension. Now you hear the unavaible tone and not the voicemail.
Now, on the Dial command, the & is in first position.
-- Executing [[email protected]:44] Dial("PJSIP/3181-00000031", "&SIP/993185,15,TtrI") in new stack
[2015-03-24 20:05:30] WARNING[23817][C-0000075f]: app_dial.c:2323 dial_exec_full: Dial argument takes format (technology/resource)
== Spawn extension (macro-dial-one, s, 44) exited non-zero on 'PJSIP/3181-00000031' in macro 'dial-one'
== Spawn extension (macro-exten-vm, s, 16) exited non-zero on 'PJSIP/3181-00000031' in macro 'exten-vm'
== Spawn extension (ext-local, 3185, 2) exited non-zero on 'PJSIP/3181-00000031'
-- Executing [[email protected]:1] Macro("PJSIP/3181-00000031", "hangupcall,") in new stack
-- Executing [[email protected]:1] GotoIf("PJSIP/3181-00000031", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [[email protected]:3] Hangup("PJSIP/3181-00000031", "") in new stack
== Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'PJSIP/3181-00000031' in macro 'hangupcall'
== Spawn extension (ext-local, h, 1) exited non-zero on 'PJSIP/3181-00000031'
Anybody could reproduce this?
At this moment I don’t know if it is a good idea to use chan_pjsip extensions. It seems chan_sip extensions are more stable… Could you give me an advise?
Anybody can reproduce this bug? Maybe I’m doing something wrong. Can you help me?
I have opened an issue with this. http://issues.freepbx.org/browse/FREEPBX-9001
As a workaround I have been trying to use [macro-dialout-one-predial-hook] in the extensions_custom.conf to remove the “&” at the begining and at the end in the ARG1 but I am not sure if it is possible. The ARG1 in [macro-dialout-one] does not persist in [macro-dialout-one-predial-hook] so I don’t know how to manipulate it.
[macro-dialout-one-predial-hook]
exten => s,1,Log(NOTICE,"ARG1 = "${ARG1}) ; ARG1 arrives empty
I would appreciate some help.