[asterisk-dev] pjsip: 180 Ringing contains wrong info in Remote-Party-ID

Richard Mudgett rmudgett at digium.com
Mon May 15 18:36:57 CDT 2017


On Mon, May 15, 2017 at 4:57 PM, Steve Murphy <murf at parsetree.com> wrote:

> Hmmm, according to your refs, none really apply to this situation.
>

<snip>


>
>  the callerid of the target phone is set in the pjsip channel driver
> config, not in my dialplan (the same as chan_sip):
>
> And, my dialplan doesn't care about the callerid info for the phone you
> are dialing... in chan_sip, I get it via the 180 Ringing, but in pjsip, I
> am given useless information instead. I don't need it to change the sip
> exchanges to a re-invite, either. The phone is able to pick it up from the
> 180 Ringing just fine.
>
> Here is the config for the endpoints, a little cut down:
>
> [t12]   ; Yealink T49G mac=00:15:65:...
> type=endpoint
> auth=t12
> transport=transport-udp
> aors=t12
> <snip>
> callerid="Steve" <101>
>
> [t13]   ; Yealink T48G mac=00:15:65:...
> type=endpoint
> auth=t13
> transport=transport-udp
> aors=t13
> <snip>
> callerid="s2 test" <102>
>
> Since the config holds the callerids for each endpoint, I don't have any
> code to do lookups to get the callerid of the target. chan_sip has been
> fine providing it to the phone via the 180 Ringing...
>
> Right now, I'm running the exact same dialplan for chan_sip and pjsip. Are
> you telling me that I have to change the dialplan for pjsip? Can you give
> me a solid example of what I'd need to do in the dialplan to get the same
> effect?  As a matter of fact, I run the two channel drivers on two
> different ports, and I have phones on pjsip, and phones on chan_sip at the
> same time...
>

There is something in your setup setting the wrong information.  My test
setup does
send the correct information for the 180 Ringing message.  I am not running
the two
SIP channel drivers at the same time.

For a simple dialplan you should only need to do a dial when
PJSIP/t12 calls 102:

exten = 102,1,NoO()
same = n,Dial(PJSIP/t13)
same = n,Hangup()

You don't need to specify the transport in the endpoint config as the
transport can
be determined from the defined transports.

There should be a send_rpid=yes somewhere in the endpoint config.

Are you dialing between chan_sip and chan_pjsip channels for your testing?

You could expand upon the basic dial by adding an interception routine [1]
that
just shows you the values of CALERID(all) and CONNECTEDLINE(all) when the
routine
runs.

Richard

[1]
https://wiki.asterisk.org/wiki/display/AST/Party+ID+Interception+Macros+and+Routines
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20170515/5470fdf5/attachment-0001.html>


More information about the asterisk-dev mailing list