Possible SIP from headers:

```
"unknown-caller-name" <sip:unknown-ani@pbx.domain.com:5066;user=phone>
"Henry Tirta" <sip:951@domain.com>

```

I need to extract SIP Number between `<sip:` & `@` from the above header in php using regex. This SIP number length will vary.

```
$from = "\"User Name\" <sip:199@pbx.testdomain.com>";
$matches = array();
$pattern = '/[A-Za-z0-9_-]+@[A-Za-z0-9_-]+\.([A-Za-z0-9_-][A-Za-z0-9_]+)/';
preg_match($pattern,$from,$matches);
$number = explode('@', $matches[0])[0];
echo $number;

```

Any better way to do this ?