Pjsip.conf Question

Home » Asterisk Users » Pjsip.conf Question
Asterisk Users 4 Comments

I am currently running Asterisk 13.1.0-1

I have a chan_sip configuration that works fine with a 3rd party. Third party does not use authentication or registration, it’s ip based authentication…

When I try switching to PJSIP.conf, I seeing 488 responses from the Asterisk side. What has me really baffled is the debugging indicates

[Jul 14 17:28:24] DEBUG[3620] pjsip: sip_endpoint.c Processing incoming message: Request msg INVITE/cseq=222 (rdata0x7f9e98129f38)
[Jul 14 17:28:24] DEBUG[3620] netsock2.c: Splitting ‘xxx.xxx.xxx.xxx:1662’ into…
[Jul 14 17:28:24] DEBUG[3620] netsock2.c: …host ‘xxx.xxx.xxx.xxx’ and port ‘1662’.
[Jul 14 17:28:24] DEBUG[3620] netsock2.c: Splitting ‘0.0.0.0:5060’ into…
[Jul 14 17:28:24] DEBUG[3620] netsock2.c: …host ‘0.0.0.0’ and port ‘5060’.
[Jul 14 17:28:24] DEBUG[3620] netsock2.c: Splitting ‘xxx.xxx.xxx.xxx’ into…
[Jul 14 17:28:24] DEBUG[3620] netsock2.c: …host ‘xxx.xxx.xxx.xxx’ and port ”.
[Jul 14 17:28:24] DEBUG[3614] threadpool.c: Increasing threadpool SIP’s size by 5
[Jul 14 17:28:24] DEBUG[3689] pjsip: sip_endpoint.c Distributing rdata to modules: Request msg INVITE/cseq=222 (rdata0x7f9e98085848)
[Jul 14 17:28:24] DEBUG[3689] res_pjsip_endpoint_identifier_user.c: Retrieved endpoint 3400
[Jul 14 17:28:24] DEBUG[3689] pjsip: tsx0x25e0538 ..Transaction created for Request msg INVITE/cseq=222 (rdata0x7f9e98085848)
[Jul 14 17:28:24] DEBUG[3689] pjsip: tsx0x25e0538 .Incoming Request msg INVITE/cseq=222 (rdata0x7f9e98085848) in state Null
[Jul 14 17:28:24] DEBUG[3689] pjsip: tsx0x25e0538 ..State changed from Null to Trying, event=RX_MSG
[Jul 14 17:28:24] DEBUG[3689] pjsip: dlg0x6e879f8 …Transaction tsx0x25e0538 state changed to Trying
[Jul 14 17:28:24] DEBUG[3689] pjsip: dlg0x6e879f8 .UAS dialog created
[Jul 14 17:28:24] DEBUG[3689] pjsip: dlg0x6e879f8 .Module mod-invite added as dialog usage, data=0x25c4778
[Jul 14 17:28:24] DEBUG[3689] pjsip: dlg0x6e879f8 ..Session count inc to 2 by mod-invite
[Jul 14 17:28:24] DEBUG[3689] pjsip: inv0x6e879f8 .UAS invite session created for dialog dlg0x6e879f8
[Jul 14 17:28:24] DEBUG[3689] pjsip: dlg0x6e879f8 .Module Session Module added as dialog usage, data=(nil)
[Jul 14 17:28:24] DEBUG[3689] pjsip: dlg0x6e879f8 ..Session count inc to 2 by Session Module
[Jul 14 17:28:24] DEBUG[3689] dsp.c: Setup tone 1100 Hz, 500 ms, block_size=160, hits_required=21
[Jul 14 17:28:24] DEBUG[3689] dsp.c: Setup tone 2100 Hz, 2600 ms, block_size=160, hits_required=116
[Jul 14 17:28:24] DEBUG[3689] res_pjsip_session.c: Negotiating incoming SDP media stream ‘audio’ using audio SDP handler
[Jul 14 17:28:24] DEBUG[3689] res_pjsip_sdp_rtp.c: Endpoint has no codecs for media type ‘audio’, declining stream

The actual packet is as follows and it clearly has audio settings….
17:28:24.631135 IP (tos 0x0, ttl 63, id 15854, offset 0, flags [none], proto UDP (17), length 801)
xxx.xxx.xxx.xxx.1662 > yyy.yyy.yyy.yyy.sip: SIP, length: 773
INVITE sip:446@yyy.yyy.yyy.yyy:5060 SIP/2.0
Via: SIP/2.0/UDP xxx.xxx.xxx.xxx:5060;branch=z9hG4bKxHCO97tu8412a000
To: >
From: “Oper 57 PAUL”>;tag=BqB1jc5P
Contact: >
Call-ID: fja7CsJi-0001-@xxx.xxx.xxx.xxx
CSeq: 222 INVITE
Max-Forwards: 70
Allow: INVITE,ACK,CANCEL,BYE,OPTIONS,REFER,NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: 333

v=0
o=- 11264001 11264001 IN IP4 xxx.xxx.xxx.xxx
s=-
c=IN IP4 xxx.xxx.xxx.xxx
t=0 0
m=audio 32770 RTP/AVP 0 2 8 18 110 120 100
a=rtpmap:0 PCMU/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=rtpmap:110 G723/5300
a=rtpmap:120 G723/6300
a=rtpmap:100 telephone-event/8000
a=fmtp:100 0-15
a=sendrecv

sip.conf…

[general]
context = ABC
srvlookup = no callcounter = yes

[3400]
type = friend qualify = no nat = no host = xxx.xxx.xxx.xxx incominglimit = 32
accountcode = 1
port = 5060
context = DEF
dtmfmode = inband insecure = invite

I am trying to make it work with PJSIP.

My pjsip.conf looks like…

[transport1]
type = transport bind = 0.0.0.0
protocol = udp

[3400]
type = aor max_contacts = 1
remove_existing = yes contact=sip:xxx.xxx.xxx.xxx

[3400]
type = endpoint context = DEF
transport = transport1
aors = 3400
accountcode = 1
dtmf_mode = inband device_state_busy_at = 32

Dan Cropp Senior Software Engineer, R&D Software Dept. AMTELCO, 4800 Curtin Drive, McFarland, WI 53558-9424
608 838-4197 ext. 291
1-800-238-5275 ext 291
www.amtelco.com

Statement of Confidentiality The contents of this e-mail message and any attachments are confidential to American Tel-A-Systems, Inc. (AMTELCO), and are intended solely for the addressee(s). The information contained in this transmission also may be of a legally privileged nature. This transmission is sent in trust and is meant solely for delivery to the intended recipient(s). Receipt of this transmission does not convey any right to reproduce or disseminate any of the information it contains. If you are not the intended recipient, please immediately notify the sender by reply e-mail or telephone and delete this message and any attachments.

4 thoughts on - Pjsip.conf Question

  • Dan Cropp wrote:

    chan_pjsip has few defaults. As a result the above endpoint has no codecs configured. Therefore the SDP negotiation fails. Adding
    “allow=ulaw” should allow it to work.

  • Thank you Joshua.

    That did in fact solve the problem I was seeing.

    I am now experiencing another issue. The 3rd party sends their messages from various port numbers. However they only read messages sent to them on port 5060.

    For example, right now I receive the first INVITE with port 1234. Asterisk sends the Trying to port 1234
    Third party doesn’t monitor this port so it eventually times out and sends another INVITE, this time with port 1235. Asterisk sends the Trying to port 1235
    Third party doesn’t monitor this port so it eventually times out and sends another INVITE, this time with port 1236
    Asterisk sends the Trying to port 1236

    Would this be achieved via the transport external_signaling_port setting?

    Have a great day!

    Dan

    —–Original Message—