Skip to end of metadata
Go to start of metadata

How to Upgrade pjproject Bundled

This page explains how to upgradte the bundled version of pjproject. For information on how to compile with bundled, see PJSIP-pjproject.

Upgrading Versions

If your goal is to upgrade pjproject from one version to another, you will need to modify the versions.mak file, which can be found in the third-party directory of your Asterisk directory. It will look like this:

Change the version to the one you need.

The next step is to remove the patches that have been included between pjproject versions. For example, if we have a patch that does foo on pjproject 2.7, but pjproject included this patch in 2.7.1, then the foo patch will need to be removed. You will need to visit pjproject's page to view the changelog for the version you are switching to. To see which patches Asterisk is applying to pjproject, look under the patches directory. You should be able to identify which patches don't belong from the names of the files.

The last thing you'll need to do is visit https://github.com/asterisk/third-party. This repository contains the tarballs that Asterisk downloads when using bundled. Fork a copy and check out a new branch if you wish. Once you have your own copy of the repo, you will need to download the version of pjproject you want (let's say 2.7.1), which uncludes the tarball and the md5. These can also be found on pjproject's website. After downloading, both will need to be moved into the repo. You'll notice that there's a directory called pjproject with different directories inside, all named after pjproject versions. Create a new directory and name it after the version you wish to switch to (2.7.1), then move both the tarball and md5 into the new directory. From here, you can create a pull request against master on the original repository, and once merged, you will be able to download that version of pjproject through bundled.

Icon

The md5 file format must be unix. If using vim, you can check this by opening the file and typing:

If you don't see fileformat=unix, you will need to convert formats.

  • No labels