Cannot register cisco 7941 PJSIP syntax error exception when parsing 'Request Line' header

i’m trying to register a cisco 7941 as extension to my freepbx, but it keeps displaying “Registering”.

I found this in the asterisk log when the phone attempts to register:

[2022-07-14 12:09:15] ERROR[22059]: pjproject: <?>:            sip_transport.c Error processing 2075 bytes packet from UDP 5.179.134.199:40189 : PJSIP syntax error exception when parsing 'Request Line' header on line 1 col 1:
       > ▒▒▒ޭ▒▒ޭ▒▒ޭ▒▒.135.47 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.67:5060;branch=z9hG4bK3f6e573a
From: <sip:[email protected]>;tag=1c17d33618270002348da430-7bd2c8aa
To: <sip:80.211.135.47>
Call-ID: [email protected]
...

this is the xml config file:

<?xml version="1.0" ?>
<device>
        <deviceProtocol>SIP</deviceProtocol>
        <vendorConfig>
        <webAccess>0</webAccess>
        <sshAccess>0</sshAccess>
        <sshPort>22</sshPort>
        </vendorConfig>
        <sshUserId>root</sshUserId>
        <sshPassword>cisco</sshPassword>
        <devicePool>
                <dateTimeSetting>
                        <dateTemplate>M/D/Y</dateTemplate>
                        <timeZone>Eastern Standard/Daylight Time</timeZone>
                        <ntps>
                                  <ntp>
                                        <name>time.google.com</name>
                                        <ntpMode>Unicast</ntpMode>
                                </ntp>
                        </ntps>
                </dateTimeSetting>
                <callManagerGroup>
                        <members>
                                <member priority="0">
                                        <callManager>
                                                <processNodeName>FREEPBX IP</processNodeName>
                                                <ports>
                                                          <sipPort>5060</sipPort>
                                                </ports>
                                        </callManager>
                                </member>
                        </members>
                </callManagerGroup>
        </devicePool>
        <sipProfile>
                <natEnabled></natEnabled>
                <natAddress></natAddress>
                <sipProxies>
                        <registerWithProxy>true</registerWithProxy>
                        <outboundProxy></outboundProxy>
                        <outboundProxyPort></outboundProxyPort>
                        <backupProxy>FREEPBX IP</backupProxy>
                        <backupProxyPort>5060</backupProxyPort>
                </sipProxies>
                <preferredCodec>none</preferredCodec>
                <phoneLabel>CasettaBM</phoneLabel>
                <sipLines>
 
                        <line button="1">
                                <featureID>9</featureID>
                                <featureLabel>106</featureLabel>
                                <proxy>USECALLMANAGER</proxy>
                                <port>5060</port>
                                <name>106</name>
                                <authName>106</authName>
                                <authPassword>EXT PASSWORD</authPassword>
                                <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
                                <messagesNumber>*97</messagesNumber>
                        </line>
 
                </sipLines>
                <dialTemplate>dialplan.xml</dialTemplate>
        </sipProfile>
 
        <networkLocale>United_States</networkLocale><networkLocaleInfo><name>United_States</name><uid>64</uid><version>1.0.0.0-1</version></networkLocaleInfo>
</device>

i can’t understand how to make the cisco phone send a correct request line header.
Moreover the first part cannot be read well (▒▒▒ޭ▒▒ޭ▒▒ޭ▒▒)
Any suggestions?

That error means the Cisco isn’t sending a request URI in a proper format. The solution to this is to just not use Cicso 79XX phones. They are outdated, their SIP stack is trash and they don’t work properly anyways when the SIP stack is working. Numerous features and functions are not available on these phones with their SIP stack. I’m talking basic things like transfers and crap.

The bottom line is that we are no longer in an age when 15 yo, outdated devices are going to work properly with modern requirements. Decade old end of life devices just are not going to do much for you anymore. Sure they are $10 but there is a reason they are $10 because they ain’t worth much more and $10 is probably more than they are worth.

Get a current IP phone and avoid all this.

1 Like