[asterisk-users] delivery verification of instant messages with pjsip
hw
hw at gc-24.de
Thu Jan 30 08:20:56 CST 2020
On Thursday, January 30, 2020 2:38:31 PM CET Joshua C. Colp wrote:
> On Thu, Jan 30, 2020 at 9:35 AM hw <hw at gc-24.de> wrote:
> > Hi,
> >
> > when sending IMs from endpoint to endpoint with the MessageSend()
> > application,
> > I can check the MESSAGE_SEND_STATUS and send another message to the sender
> > of
> > the message to notify them that their message was not sent when the status
> > indicates it.
> >
> > This works fine with chan_sip. With chan_pjsip, this works differently in
> > that MESSAGE_SEND_STATUS is "SUCCESS" after sending the message, and only
> > later asterisk figures out that it is "Unable to retrieve contact for
> > endpoint
> > <xxx>" when there are no contacts and thus the message never gets
> > delivered.
> >
> > How can I check if the endpoint has contacts --- or preferably --- if the
> > message was actually delivered to an endpoint? It would be sufficient to
> > get
> > it to work with endpoints that are not supposed to have more than one
> > contact.
>
> Making MESSAGE_SEND_STATUS reflect whether the message was sent or not for
> PJSIP was merged in 2 days ago[1]. It will be in a future release. If you
> don't want to wait you could use device state to know if the device is
> reachable (and thus a MESSAGE has a chance of being sent) using the
> DEVICE_STATE dialplan function[2].
Perfect answer, thanks! :)
I think I'll just update from the git repo then and see if it works.
> [1] https://gerrit.asterisk.org/c/asterisk/+/13674
> [2]
> https://wiki.asterisk.org/wiki/display/AST/Asterisk+17+Function_DEVICE_STATE
More information about the asterisk-users
mailing list