Early media doorphone video preview

Hello, I’m using Grandstream videophones (GXV3380, GXV3240) with Akuvox R20 doorphone.

When I use peer-to-peer (direct IP call from doorphone to videophone) early video is working (someone rings to the doorbell and the phone starts showing video preview and ringing the phone).
When I use the connecting through FreePBX the early media video preview not working.

I tried with chan_sip and chan_pjsip but not work.
My actual pjsip configuration have this setting in this two extensions

ignore_183_without_sdp=yes
inband_progress=yes

Does anyone know how to get early media/video going with FreePBX?

I attach the packet capture of the phone call through FreePBX.

Im using Grandstream facility indoor stations, Grandstream video phone and Grandstream GDS3712 Door phone and I have video preview working… I have a thread I did on setting this up around here somewhere that might help you…But you arent using a Grandstream doorphone so not sure if that will do the same or not…

Maybe this will help you…

"It was a setting in the GXV3470 IP Video Phone Call Settings called Auto Preview. Turned it on with Ringing feature so the phone still rings on an incoming door station call but you can see video without answering. Working perfect.

I now have both the 3470 desk phone and the 3570 indoor station both ringing when someone presses the call button at the door and both show preview video before answering. Either one can answer the call, have video and 2 way audio and unlock the door."

Thank @defcomllc!
Yes, I already setted the GXV with auto preview enabled but work only with direct ip call.

How do you set your extension in FreePbx? Pjsip with some features/option enabled?

Do you have video enabled and codec setup in FreePBX. I have to go back and look at my settings, its been a while.

Should all be covered in the thread I linked.

Yes, it’s enabled because if I reply to call I see the video and listen the audio.
The only thing doesn’t work is preview.

Then I would say it’s a setting with the door station if everything else is working. Easy way to test is do calls from sangoma connect to your grandstream desk phone back and forth do you get early video there? If you do then it’s isolated to your doorstation

Is Sangoma Talk app free?

Can I use for test?

You can get a 2 user 1 year Sangoma Talk/Zulu license for free. You log into your Sangoma Portal and purchase it and it has a $0.00 cost…

Thanks @defcomllc I tested with Sangoma talk starting a videocall
I see that my GXV3240 try to load the preview but screen is still black: same problem with doorphone.

So it’s something about settings of Freepbx/Asterisk.

This is the trace: smartphone send the RTP(H264) video stream to PBX but PBX don’t forward it to extension.

How can I solve this?

Finally, it’s worked!

The issue was the r option in Asterisk Dial Options, r seems to breaks the early media forwarding.

So, now it’s working with extension to extension direct call, but not for ring groups call. Any idea on this?

That’s what the “r” option does. It indicates ringing, always, even if early media is present. The “R” option on the other hand will indicate ringing UNTIL early media occurs.

Thanks for clarification @jcolp, I didn’t know.

Do you also know if early media is supported with ring groups?

If FreePBX uses Asterisk for that like I think it does, then I don’t believe so - no.

I search in conf files where ring groups are defined.
This is my simple ring group.

exten => 605,1(cid),Gosub(macro-user-callerid,s,1())
exten => 605,n,Set(__MCGROUP=${EXTEN})
exten => 605,n,Gosub(macro-blkvm-setifempty,s,1())
exten => 605,n,GotoIf($["${GOSUB_RETVAL}" = "TRUE"]?skipov)
exten => 605,n,Gosub(macro-blkvm-set,s,1(reset))
exten => 605,n,Set(__NODEST=)
exten => 605,n(skipov),Set(RRNODEST=${NODEST})
exten => 605,n(skipvmblk),Set(__NODEST=${EXTEN})
exten => 605,n,GosubIf($[${DB_EXISTS(RINGGROUP/605/changecid)} = 1 & "${DB(RINGGROUP/605/changecid)}" != "default" & "${DB(RINGGROUP/605/changecid)}" != ""]?sub-rgsetcid,s,1())
exten => 605,n,Gosub(sub-record-check,s,1(rg,605,dontcare))
exten => 605,n,Set(RingGroupMethod=ringall)
exten => 605,n,Set(__ALT_CONFIRM_MSG=${IF($[${LEN(${VQ_CONFIRMMSG})}>1]?${IF($["${VQ_CONFIRMMSG}"!="0"]?${VQ_CONFIRMMSG}: )}:)})
exten => 605,n,GotoIf($[$["${RG_CONFIRM}"="1"] | $[${LEN(${VQ_CONFIRMMSG})}>1]]?RGVQANNOUNCE:NORGVQANNOUNCE)
exten => 605,n(RGVQANNOUNCE),Gosub(macro-dial-confirm,s,1(20,m(none)${REPLACE(DIAL_OPTIONS,rQ(NO_ANSWER))},415,605))
exten => 605,n,Goto(gosubhere)
exten => 605,n(NORGVQANNOUNCE),Gosub(macro-dial,s,1(20,m(none)${REPLACE(DIAL_OPTIONS,rQ(NO_ANSWER))},415))
exten => 605,n(gosubhere),Gosub(sub-record-cancel,s,1())
exten => 605,n,Set(RingGroupMethod=)
exten => 605,n,GotoIf($["foo${RRNODEST}" != "foo"]?nodest)
exten => 605,n,Set(__NODEST=)
exten => 605,n,Gosub(macro-blkvm-clr,s,1())
exten => 605,n,Goto(app-blackhole,hangup,1)
exten => 605,n(nodest),Noop(SKIPPING DEST, CALL CAME FROM Q/RG: ${RRNODEST})

I see these two lines in particular. They have the r char after the DIAL_OPTIONS. Is this re-introduce the r option that break the early media?

exten => 605,n(RGVQANNOUNCE),Gosub(macro-dial-confirm,s,1(20,m(none)${REPLACE(DIAL_OPTIONS,rQ(NO_ANSWER))},415,605))
exten => 605,n(NORGVQANNOUNCE),Gosub(macro-dial,s,1(20,m(none)${REPLACE(DIAL_OPTIONS,rQ(NO_ANSWER))},415))

If yes, how can I delete that option from here?

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