ERROR pjproject <?>

Hi,

we’ve some old Thomson ST2030 phones that constantly trigger those error messages on the PBX:

[2022-01-03 10:17:45] ERROR[7937]: pjproject: <?>: 	       sip_transport.c Error processing 886 bytes packet from UDP phone:5060 : PJSIP syntax error exception when parsing 'Request Line' header on line 1 col 15:
SUBSCRIBE sip:@pbx:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP phone:5060;branch=z9hG4bK9142470814203758264-300303869
From: <sip:106@pbx:5060>;tag=c0a80101-11d88a47
To: <sip:105@pbx:5060>;tag=9599b03e-521d-4972-9cbb-f144bdc646b9
Call-ID: 78b42a3d-c0a80101-d-48d@phone
CSeq: 3 SUBSCRIBE
Max-Forwards: 70
Event: dialog
Accept: application/dialog-info+xml
Expires: 3600
Contact: <sip:106@phone:5060;user=phone>
Allow-Events: refer,dialog,message-summary,check-sync,talk,hold
Authorization: Digest username="106", realm="asterisk", nonce="1641199633/492cab498dfb53b5f0c7c0f0d4b92d25", uri="sip:@pbx:5060;user=phone", response="934c4e6bce41cf793f4e08c343c572fb", algorithm=MD5, qop=auth, cnonce="11d88a53", opaque="7576771044384ae3", nc=00000002
User-Agent: THOMSON ST2030 hw5 fw1.62 00-1F-9F-16-E6-CC
Content-Length: 0


-- end of packet.

We’re running:

FreePBX 16.0.10.43 
Asterisk 18.6.0

The phones works fine, is there a way to fix this error?
Thanks, BR

At first glance, I would say that it is not clear what you are subscribing to. If the SIP parser expects something in front of the “@” character in the SUBSCRIBE header, then this could be the reason for the error message. In this case it would be a configuration error.

The SIP parser should expect something in front of the @! The syntax rules for SIP URIs are:

SIP-URI          =  "sip:" [ userinfo ] hostport
                    uri-parameters [ headers ]
SIPS-URI         =  "sips:" [ userinfo ] hostport
                    uri-parameters [ headers ]
userinfo         =  ( user / telephone-subscriber ) [ ":" password ] "@"
user             =  1*( unreserved / escaped / user-unreserved )
user-unreserved  =  "&" / "=" / "+" / "$" / "," / ";" / "?" / "/"
password         =  *( unreserved / escaped /
                    "&" / "=" / "+" / "$" / "," )
hostport         =  host [ ":" port ]

telephone-subscriber  = global-phone-number / local-phone-number
global-phone-number   = "+" base-phone-number [isdn-subaddress]
                        [post-dial] *(area-specifier /
                        service-provider / future-extension)
base-phone-number     = 1*phonedigit
local-phone-number    = 1*(phonedigit / dtmf-digit /
                        pause-character) [isdn-subaddress]
                        [post-dial] area-specifier
                        *(area-specifier / service-provider /
                        future-extension)

The only way of including @ is if the optional userinfo is present, and userinfo must include a user or a telephone-subscriber, the rules for which all contain 1* items, which means none of them can be empty.

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