WebRTC calls not recibed in the UCP when extension is pjsip

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 [s@macro-dial-one: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 [s@macro-dial-one: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 [s@macro-dial-one: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 [h@ext-local:1] Macro("PJSIP/3181-00000031", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("PJSIP/3181-00000031", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall: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.